@font-face{font-family:Kode Mono Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/kode-mono-latin-ext-wght-normal-Bg12RvZk.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:Kode Mono Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/kode-mono-latin-wght-normal-Bdr_-rJX.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{--ink:#000;--paper:#fff;--rule:#000;--muted:#626262;--grid:#e4e4e4;--mono:"Kode Mono Variable", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-2xs:9px;--text-xs:10px;--text-sm:11px;--text-base:12px;--text-md:13px;--text-lg:19px;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--tracking-normal:0;--tracking-tight:.06em;--tracking-wide:.08em;--tracking-wider:.1em;--tracking-widest:.12em;--tracking-pill:.14em;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:10px;--space-6:12px;--space-7:16px;--space-8:20px;--space-9:24px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}html,body{background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;margin:0;line-height:1.4}input,textarea{-webkit-user-select:text;user-select:text}button,input,select{font:inherit;color:inherit;background-color:var(--paper);border:1px solid var(--rule);border-radius:0;padding:4px 6px}button{cursor:pointer;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 2px;transition:background-size .15s cubic-bezier(.2,0,0,1)}button:hover:not(:disabled),button:focus-visible:not(:disabled){background-size:100% 2px}button:disabled{color:var(--muted);border-color:var(--muted);cursor:not-allowed}select{cursor:pointer}:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.app{flex-direction:column;max-width:none;height:100dvh;margin:0;padding:0;display:flex;overflow:hidden}.workspace{flex:1;align-items:stretch;min-height:0;display:flex}.masthead{align-items:center;gap:var(--space-5);border-bottom:2px solid var(--rule);padding:var(--space-5) var(--space-7);grid-template-columns:1fr auto 1fr;display:grid}.masthead__end{justify-content:flex-end;align-items:center;gap:var(--space-5);min-width:0;display:flex}@media (width<=860px){.masthead{justify-items:center;gap:var(--space-4);grid-template-columns:1fr}.masthead__end{flex-wrap:wrap;justify-content:center}}.masthead h1{font-size:var(--text-md);font-weight:var(--weight-bold);letter-spacing:var(--tracking-widest);text-transform:uppercase;margin:0}.help__open{letter-spacing:0;width:22px;height:22px;font-weight:var(--weight-medium);padding:0;line-height:1}.help{border:1px solid var(--rule);background:var(--paper);color:var(--ink);width:min(60ch,100vw - 32px);padding:0}.help::backdrop{background:#0000008c}.help__body{padding:var(--space-7);max-height:min(70dvh,640px);overflow-y:auto}.help__body p{margin:0 0 var(--space-4);color:var(--muted);line-height:1.55}.help__section{margin-bottom:var(--space-8)}.help__section:last-of-type{margin-bottom:var(--space-7)}.help__heading{margin:0 0 var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--ink)}.help__section p:last-child{margin-bottom:0}.help__credit{padding-top:var(--space-6);border-top:1px solid var(--grid);font-size:var(--text-xs);margin:0}.masthead__credit{font-size:var(--text-xs);color:var(--muted);letter-spacing:var(--tracking-normal);white-space:nowrap}.masthead__credit a{color:inherit;text-underline-offset:2px;font-weight:var(--weight-medium);text-decoration:underline}.masthead__credit a:hover{color:var(--ink)}.help__body a{color:var(--ink);text-underline-offset:2px;text-decoration:underline}.help__body p:last-child{margin-bottom:0}.badge{border:1px solid var(--rule);letter-spacing:var(--tracking-pill);text-transform:uppercase;white-space:nowrap;font-size:var(--text-2xs);padding:2px 6px;line-height:1}.badge--solid{background:var(--ink);color:var(--paper)}.controls{z-index:20;align-items:center;gap:var(--space-4) var(--space-7);border-bottom:1px solid var(--rule);padding:var(--space-5) var(--space-7);background:var(--paper);flex-wrap:wrap;display:flex;position:sticky;top:0}.controls__group{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.divider{background:var(--rule);flex-shrink:0;align-self:center;width:1px;height:18px}.controls__steps{align-items:center;gap:var(--space-2);display:flex}.controls__btn-lock{box-sizing:border-box;background-color:var(--paper);width:26px;height:26px;color:var(--ink);border:1px solid var(--rule);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.controls__btn-lock.is-unlocked{color:var(--muted);border-style:dashed}.controls__btn-lock.is-unlocked:hover{color:var(--ink);border-style:solid}.field{align-items:center;gap:var(--space-3);display:flex}.field>label,.legend{text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--muted);font-size:var(--text-base)}.field--checkbox{cursor:pointer;-webkit-user-select:none;user-select:none}.field input[type=text]{text-transform:lowercase;width:11ch}.field input.number{text-transform:none;width:8ch;min-width:58px}.field input.invalid{color:#b00;border-color:#b00}.picker{border:1px solid var(--rule);cursor:pointer;width:26px;height:26px;padding:0}.picker:hover{outline:2px solid var(--ink);outline-offset:1px}.spacer{flex:1}.ramp{margin:20px 0;display:flex}.swatch{text-align:left;background:0 0;border:none;flex-direction:column;flex:1;min-width:0;padding:0;display:flex}button.swatch:hover:not(:disabled){color:inherit;background:0 0}.swatch__chip{height:116px;position:relative}.swatch__clipped{border-top:9px solid var(--ink);border-left:9px solid #0000;width:0;height:0;position:absolute;top:0;right:0}.swatch__base{text-align:center;letter-spacing:.12em;background:var(--ink);color:var(--paper);padding:1px 0;font-size:9px;position:absolute;inset:auto 0 0}.swatch__meta{border:1px solid var(--rule);border-right:none;gap:1px;padding:5px 6px 6px;display:grid}.swatch:last-child .swatch__meta{border-right:1px solid var(--rule)}.swatch__label{font-weight:var(--weight-bold);letter-spacing:.06em}.swatch__value{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.swatch__value--unavailable{color:var(--muted);opacity:.55}.swatch__sub{color:var(--muted);white-space:nowrap;font-size:10px}.swatch__copied{letter-spacing:.1em;text-transform:uppercase;font-size:10px}.swatch__flash{text-align:center;letter-spacing:.12em;text-transform:uppercase;background:var(--ink);color:var(--paper);padding:2px 0;font-size:9px;position:absolute;inset:50% 0 auto;transform:translateY(-50%)}.panel{border:1px solid var(--rule);flex-direction:column;min-width:0;display:flex;overflow:hidden}.panel--source{flex:none}.panel--curve{flex:1 0 auto}.toolbox__panels>.panel>.panel__head,.toolbox__panels>.panel>.panel__controls{flex:none}.panel__head{justify-content:space-between;align-items:center;gap:var(--space-5);border-bottom:1px solid var(--rule);padding:var(--space-3) var(--space-4);display:flex}.panel__title{font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.panel__axis{color:var(--muted);font-size:var(--text-2xs);letter-spacing:var(--tracking-tight)}.panel__row{align-items:center;gap:var(--space-4);border-bottom:1px solid var(--rule);padding:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.panel__row .field{gap:var(--space-2)}.panel__body,.panel__controls{gap:var(--space-4);padding:var(--space-4);flex-direction:column;display:flex}.panel__controls{border-top:1px solid var(--rule)}.panel__pair{align-items:end;gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.panel__pair>*{min-width:0}.panel__pair:has(>:only-child){grid-template-columns:1fr}.panel__pair>button{width:100%}.panel__pair>.field input{text-align:center;width:100%;min-width:0}.seg{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.seg__btn{min-width:0;height:26px;padding:0 var(--space-1);font-size:var(--text-xs);letter-spacing:var(--tracking-tight);text-transform:uppercase;cursor:pointer;margin-left:-1px}.seg__btn:first-child{margin-left:0}.seg__btn:hover,.seg__btn:focus-visible{z-index:1;position:relative}.graph{touch-action:none;flex:1;width:100%;min-height:120px;display:block}.graph__grid{stroke:var(--grid);stroke-width:1px}.graph__frame{fill:none;stroke:var(--rule);stroke-width:1px}.graph__curve{fill:none;stroke:var(--rule);stroke-width:1.5px}.graph__tangent{stroke:var(--muted);stroke-width:1px;stroke-dasharray:2 2}.graph__dot{stroke:var(--rule);stroke-width:1px}.graph__dot--base{stroke-width:2.5px}.graph__handle{fill:var(--paper);stroke:var(--rule);stroke-width:1.5px;cursor:grab}.graph__handle:hover{fill:var(--ink)}.graph__handle--anchor{cursor:ns-resize}.graph__label{fill:var(--muted);font-size:var(--text-2xs);font-family:var(--mono)}.cdialog{border:1px solid var(--rule);background:var(--paper);color:var(--ink);width:min(420px,100vw - 32px);box-shadow:0 8px 32px #0003, 0 0 0 1px var(--rule);z-index:100;max-height:calc(100dvh - 32px);margin:0;padding:0;position:fixed;inset:auto;overflow:hidden}.cdialog__panel{max-height:inherit;flex-direction:column;min-height:0;display:flex}.cdialog__panel .cpick{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--rule) transparent;min-height:0;overflow-y:auto}.cdialog::backdrop{background:0 0}.cdialog__head .panel__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cpick{gap:var(--space-4);padding:var(--space-5);box-sizing:border-box;flex-direction:column;display:flex}body.is-dragging-plot,body.is-dragging-plot *{cursor:crosshair!important;-webkit-user-select:none!important;user-select:none!important}body.is-dragging-hue,body.is-dragging-hue *{cursor:ew-resize!important;-webkit-user-select:none!important;user-select:none!important}.cpick__plot,.cpick__hue{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;display:block}.cpick__plot{cursor:crosshair}.cpick__hue{cursor:ew-resize}.cpick__plot *,.cpick__hue *{pointer-events:none}.cpick__frame{fill:none;stroke:var(--rule);stroke-width:1px}.cpick__edge{fill:none;stroke:var(--ink);stroke-width:1px}.cpick__cusp{fill:none;stroke:var(--paper);stroke-width:2px}.cpick__spill{stroke:var(--ink);stroke-width:1px;stroke-dasharray:2 2}.cpick__lands{fill:none;stroke:var(--paper);stroke-width:2px}.cpick__halo{fill:none;stroke:var(--paper);stroke-width:3px}.cpick__marker{fill:none;stroke:var(--ink);stroke-width:1.5px}.cpick__fields{gap:var(--space-3);grid-template-columns:repeat(3,1fr);width:100%;display:grid}.cpick__fields .field{align-items:center;gap:var(--space-2);width:100%;display:flex}.cpick__fields .field input.number{flex:1;width:100%;min-width:0}.cpick__out{border:1px solid var(--rule);flex-direction:column;width:100%;display:flex}.cpick__preview{border-bottom:1px solid var(--rule);width:100%;height:48px;position:relative}.cpick__clipped{background:var(--ink);color:var(--paper);letter-spacing:.12em;text-transform:uppercase;padding:1px 5px;font-size:9px;position:absolute;bottom:0;left:0}.cpick__values{justify-content:space-between;align-items:baseline;gap:var(--space-3);min-width:0;padding:var(--space-2) var(--space-4);display:flex}.cpick__values code{font-family:var(--mono);font-size:var(--text-sm);overflow-wrap:anywhere}.cpick__hex{color:var(--muted);font-size:var(--text-xs);flex-shrink:0}.cpick__hex--unavailable{opacity:.45}.exportd{border:1px solid var(--rule);background:var(--paper);color:var(--ink);width:min(58ch,100vw - 32px);padding:0}.exportd::backdrop{background:#0000008c}.exportd .panel__head{padding:var(--space-4) var(--space-6)}.exportd__body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--rule) transparent;max-height:calc(100dvh - 200px);overflow-y:auto}.exportd__sect+.exportd__sect{border-top:1px solid var(--rule)}.exportd__head{align-items:center;gap:var(--space-4);min-height:28px;padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--rule);background:var(--grid);display:flex}.exportd__rows{gap:var(--space-5);padding:var(--space-6);flex-direction:column;display:flex}.exportd__row{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.exportd__minor{font-size:var(--text-xs);color:var(--muted);border-color:var(--muted);padding:2px 6px}.exportd__minor:hover:not(:disabled){color:var(--ink);border-color:var(--ink)}.exportd__hint{color:var(--muted);font-size:var(--text-xs);letter-spacing:var(--tracking-normal)}.exportd__formats{border-bottom:1px solid var(--rule);grid-template-columns:1fr 1fr;display:grid}.exportd__formats .exportd__format{justify-content:space-between;align-items:center;gap:var(--space-4);height:auto;padding:var(--space-3) var(--space-6);border:none;border-bottom:1px solid var(--rule);border-right:1px solid var(--rule);background:var(--paper);color:var(--ink);text-align:left;display:flex}.exportd__formats .exportd__format:nth-child(2n){border-right:none}.exportd__formats .exportd__format:nth-last-child(-n+2){border-bottom:none}.exportd__ext{color:var(--muted);font-size:var(--text-xs)}.exportd__formats .exportd__format:hover .exportd__ext{color:var(--paper)}.is-lossy{color:var(--muted)}.exportd__pick{gap:var(--space-5);padding:var(--space-6);flex-direction:column;display:flex}.exportd__note{padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--rule);background:var(--grid);color:var(--ink);font-size:var(--text-xs);margin:0}.field input[type=checkbox]{width:14px;height:14px;accent-color:var(--ink);cursor:pointer;margin:0;padding:0}.graph__hatch{stroke:var(--rule);stroke-width:1px;opacity:.35}.graph__ceiling-fill{pointer-events:none;opacity:.55}.graph__ceiling{fill:none;stroke:var(--muted);stroke-width:1.25px;stroke-dasharray:4 3}.graph__drop{stroke:var(--muted);stroke-width:1px;pointer-events:none}:root[data-canvas=dark]{--ink:#e6e6e8;--paper:#000;--rule:#7a7a82;--muted:#a4a4ac;--grid:#2b2b30;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}button.is-on,button.is-primary{background-color:var(--ink);color:var(--paper)}.graph__lock{fill:none;stroke:var(--ink);stroke-width:1.5px}.graph__handle--frozen{fill:var(--muted);stroke:var(--muted);cursor:not-allowed}.graph__handle--frozen:hover{fill:var(--muted)}input:disabled,select:disabled{color:var(--muted);border-color:var(--muted);cursor:not-allowed}.notice{z-index:25;border:1px solid var(--rule);background:var(--paper);pointer-events:none;border-left-width:4px;max-width:min(46ch,100vw - 32px);margin:0;padding:8px 10px;line-height:1.5;position:fixed;top:50%;right:16px;transform:translateY(-50%)}.stack{gap:var(--space-9);min-width:0;padding:var(--space-7);flex-direction:column;flex:1;display:flex;overflow-y:auto}.prow:not(.prow--selected){cursor:pointer}.prow--selected{outline:2px solid var(--ink);outline-offset:5px}.prow__badge{padding:1px 5px;font-size:9px}.prow__handle{cursor:grab;color:var(--muted);font-weight:var(--weight-medium);letter-spacing:.1em;-webkit-user-select:none;user-select:none;touch-action:none;padding:0 4px}.prow__handle:hover{color:var(--ink)}.prow__handle:active{cursor:grabbing}.prow--dragging{opacity:.4}.prow--drop-target{outline:2px dashed var(--ink);outline-offset:4px}.prow__head{align-items:center;gap:var(--space-3);display:flex}.prow__name{font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);padding:1px 6px}.prow__note{color:var(--muted)}.prow__duplicates{color:var(--muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);padding:0 var(--space-2)}.prow__head button{box-sizing:border-box;height:27px;padding:0 var(--space-3);font:inherit;font-size:var(--text-base);vertical-align:middle;justify-content:center;align-items:center;line-height:1;display:inline-flex}.prow__head .field{gap:var(--space-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--muted)}.field input.number.prow__input-steps,.prow__input-steps{box-sizing:border-box;height:27px;font-family:var(--mono);font-size:12px;font-weight:var(--weight-semibold);background:var(--paper);color:var(--ink);border:1px solid var(--rule);text-align:center;vertical-align:middle;padding:2px 6px;width:52px!important;min-width:52px!important}.field input.number.prow__input-steps:disabled,.prow__input-steps:disabled{color:var(--muted);border-color:var(--rule);opacity:.55;cursor:not-allowed;background:0 0}.prow__head .field:has(.prow__input-steps:disabled){opacity:.65}.prow__btn-icon{width:28px;padding:0}.prow__btn-icon svg{margin:auto;display:block}.prow__btn-icon.is-copied{background:var(--ink);color:var(--paper)}.prow .ramp{margin:var(--space-5) 0 0}.toolbox{width:var(--toolbox-w,380px);background:var(--paper);border-left:2px solid var(--rule);flex:none;min-height:0;display:flex}.toolbox__body{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.toolbox__resizer{background:var(--rule);cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;width:6px;display:flex;position:relative}.toolbox__resizer:before{content:"";cursor:ew-resize;position:absolute;inset:0 -6px}.toolbox__resizer:hover,.toolbox__resizer.is-dragging{background:var(--ink)}.toolbox__resizer-grip{background:var(--paper);pointer-events:none;width:2px;height:36px}.toolbox__head{gap:var(--space-2);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:2px solid var(--rule);flex-direction:column;flex:none;display:flex}.toolbox__eyebrow{font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--muted)}.toolbox__head .field__tag{display:none}.toolbox__head .field--stacked{gap:0}.toolbox__head .toolbox__input-name{height:auto;padding:var(--space-2) var(--space-3);margin-left:calc(var(--space-3) * -1);font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:var(--tracking-normal);text-transform:none;background:0 0;border-color:#0000}.toolbox__head .toolbox__input-name:hover{border-color:var(--grid)}.toolbox__head .toolbox__input-name:focus,.toolbox__head .toolbox__input-name:focus-visible{border-color:var(--rule);background:var(--paper)}.toolbox__panels{overscroll-behavior:contain;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.toolbox__panels>.panel{padding:var(--space-6) var(--space-5) var(--space-7);border:0;overflow:visible}.toolbox__panels>.panel+.panel{border-top:1px solid var(--rule)}.toolbox__panels>.panel>.panel__head{align-items:center;gap:0 var(--space-4);padding:0 0 var(--space-5);background:0 0;border-bottom:0;grid-template-columns:minmax(0,1fr) auto;display:grid}.toolbox__panels>.panel>.panel__head>.panel__title,.toolbox__panels>.panel>.panel__head>.panel__axis{grid-column:1}.toolbox__panels>.panel--curve>.panel__head>.panel__reset{grid-area:1/2/span 2}.toolbox__panels>.panel>.panel__head>.panel__title{font-size:var(--text-md);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wider)}.toolbox__panels>.panel>.panel__body,.toolbox__panels>.panel>.panel__controls{border-top:0;padding:0}.toolbox__panels>.panel>.panel__controls{padding-top:var(--space-5)}.toolbox__panels>.panel>.graph{min-height:180px}.toolbox__btn-rederive{color:var(--muted);border-color:var(--muted)}.toolbox__btn-rederive:hover:not(:disabled),.toolbox__btn-rederive:focus-visible{color:var(--ink);border-color:var(--rule)}.toolbox__panels>.panel>.panel__head>.panel__reset{height:22px;color:var(--muted);border-color:var(--muted)}.toolbox__panels>.panel>.panel__head>.panel__reset:hover,.toolbox__panels>.panel>.panel__head>.panel__reset:focus-visible{color:var(--ink);border-color:var(--rule)}.toolbox__panels .panel__pair>button{height:30px;font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase}.toolbox__panels .seg__btn{height:24px;color:var(--muted)}.toolbox__panels .seg__btn:hover,.toolbox__panels .seg__btn:focus-visible{color:var(--ink)}.toolbox__param{flex-direction:column;display:flex}.field--stacked{align-items:flex-start;gap:var(--space-2);flex-direction:column;margin:0;padding:0;display:flex}.field__tag{font-size:9px;font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);height:12px;margin:0;padding:0;line-height:12px;display:block}.field__swatch-wrap{align-items:center;gap:var(--space-3);width:100%;height:38px;margin:0;padding:0;display:flex}.field__swatch-wrap .toolbox__input-color{flex:1;height:38px}.toolbox__input-name,.toolbox__input-color,.toolbox__input-steps,.toolbox__select-step,.toolbox__btn-lock,.toolbox__btn-rederive{box-sizing:border-box;height:32px;font-family:var(--mono);font-size:13px;font-weight:var(--weight-medium);background:var(--paper);color:var(--ink);border:1px solid var(--rule);vertical-align:middle;margin:0}.field input[type=text].toolbox__input-name,.toolbox__input-name{text-transform:none;padding:4px 10px;width:100%!important;min-width:0!important}.field input[type=text].toolbox__input-color,.toolbox__input-color{padding:4px 8px;width:100%!important;min-width:0!important}.field input.number.toolbox__input-steps,.toolbox__input-steps{text-align:center;padding:4px 8px;width:100%!important;min-width:0!important}.toolbox__select-step{width:100%;min-width:0;padding:4px 8px}.toolbox__param,.toolbox__param .field{min-width:0}.toolbox__btn-lock,.toolbox__btn-rederive{width:100%;padding:0 var(--space-3);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;cursor:pointer;font-size:11px}.field__swatch-wrap .picker{box-sizing:border-box;vertical-align:middle;flex-shrink:0;width:38px;height:38px;margin:0;padding:0}@media (width<=1000px){.workspace{flex-direction:column}.toolbox{border-left:0;border-top:2px solid var(--rule);width:auto;height:60%}.toolbox__resizer{display:none}}.newpal{border:1px solid var(--rule);background:var(--paper);color:var(--ink);width:min(72ch,100vw - 32px);padding:0}.newpal::backdrop{background:#0000008c}.newpal__panes{align-items:center;gap:var(--space-2);margin-left:var(--space-5);display:flex}.newpal__body{gap:var(--space-4);padding:var(--space-5);flex-direction:column;display:flex}.newpal__paste{box-sizing:border-box;resize:vertical;width:100%;font-family:var(--mono);font-size:var(--text-md);padding:var(--space-3);background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:0;line-height:1.5}.newpal__hint{color:var(--muted);font-size:var(--text-xs);margin:0;line-height:1.5}.newpal__bad{margin:var(--space-3) 0 0;color:var(--muted);font-size:var(--text-xs);line-height:1.5}.newpal__scroll{border:1px solid var(--rule);height:250px;padding:var(--space-4);overflow-y:auto}.newpal__preview,.newpal__rule-ramp,.newpal__source-ramp{gap:var(--space-2);flex-wrap:wrap;display:flex}.newpal__cand{border:1px solid var(--rule);cursor:pointer;width:30px;height:30px;padding:0}.newpal__rule-ramp .newpal__cand{width:46px;height:46px}button.newpal__cand:hover{outline:2px solid var(--ink);outline-offset:1px}.newpal__cand--seed{cursor:default;margin-right:var(--space-3);border-style:dashed}.newpal__row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.newpal__rules{gap:var(--space-2)}.newpal__rules button{font-size:var(--text-sm);height:24px;padding:3px 6px}.newpal__sources{gap:var(--space-3);border:1px solid var(--rule);max-height:120px;padding:var(--space-3);flex-direction:column;display:flex;overflow-y:auto}.newpal__source{align-items:center;gap:var(--space-4);display:flex}.newpal__source-name{width:12ch;color:var(--muted);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;overflow:hidden}.newpal__pick{border:1px solid var(--rule);cursor:pointer;width:18px;height:18px;padding:0}.newpal__pick.is-picked{outline:2px solid var(--ink);outline-offset:1px}.newpal__foot{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.newpal__count{color:var(--muted);font-size:var(--text-xs)}.newpal__rule{align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.newpal__rule:last-child{margin-bottom:0}.newpal__rule-name{width:18ch;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);flex-shrink:0}.review{grid-template:"bar bar""nook top"15px"side board"1fr/15px 1fr;height:100dvh;display:grid;overflow:hidden}.review__bar{align-items:center;gap:var(--space-4);border-bottom:2px solid var(--rule);padding:var(--space-4) var(--space-7);flex-wrap:wrap;grid-area:bar;display:flex}.review__bar h1{font-size:var(--text-md);font-weight:var(--weight-bold);letter-spacing:var(--tracking-widest);text-transform:uppercase;margin:0}.review__group{display:flex}.review__group button+button{margin-left:-1px}.field--simulating select{background:var(--ink);color:var(--paper);border-color:var(--ink)}.review__gap input[type=range]{appearance:none;cursor:ew-resize;background:0 0;border:none;width:88px;height:19px;padding:0}.review__gap input[type=range]::-webkit-slider-runnable-track{background:var(--rule);height:1px}.review__gap input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--ink);border:none;width:7px;height:15px;margin-top:-7px}.review__gap input[type=range]::-moz-range-track{background:var(--rule);height:1px}.review__gap input[type=range]::-moz-range-thumb{background:var(--ink);border:none;border-radius:0;width:7px;height:15px}.review__ruler{position:relative}.review__ruler--across{border-bottom:1px solid var(--grid);grid-area:top}.review__ruler--down{border-right:1px solid var(--grid);grid-area:side}.review__tick{touch-action:none;position:absolute}.review__tick:after{content:"";background:var(--rule);position:absolute}.review__ruler--across .review__tick{cursor:col-resize;width:13px;margin-left:-6.5px;top:0;bottom:0}.review__ruler--across .review__tick:after{width:1px;top:3px;bottom:0;left:6px}.review__ruler--across .review__tick:hover:after,.review__ruler--across .review__tick:active:after{background:var(--ink);width:3px;top:0;left:5px}.review__ruler--down .review__tick{cursor:row-resize;height:13px;margin-top:-6.5px;left:0;right:0}.review__ruler--down .review__tick:after{height:1px;top:6px;left:3px;right:0}.review__ruler--down .review__tick:hover:after,.review__ruler--down .review__tick:active:after{background:var(--ink);height:3px;top:5px;left:0}.review__bands{grid-area:board;min-width:0;min-height:0;display:flex}.review--rows .review__bands{flex-direction:column}.review--columns .review__bands{flex-direction:row}.rband{flex-shrink:1;flex-basis:0;min-width:0;min-height:0;display:flex;position:relative}.rband--drop{outline:2px dashed var(--ink);outline-offset:4px;z-index:10}.rband--dragging{opacity:.4}.rband__name{z-index:2;white-space:nowrap;max-width:100%;font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;cursor:grab;-webkit-user-select:none;user-select:none;background:0 0;position:absolute;top:4px;left:6px;overflow:hidden}.rband__name:active{cursor:grabbing}.ramp--fill{flex:1;min-width:0;min-height:0;margin:0}.ramp--fill .swatch{min-width:0;min-height:0}.ramp--fill .swatch__chip{flex:1;min-width:0;height:auto;min-height:0;overflow:hidden}.ramp--vertical{flex-direction:column}.ramp--vertical .swatch{flex-direction:row}.swatch__stamp{font-size:var(--text-2xs);pointer-events:none;-webkit-user-select:none;user-select:none;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:2px 4px;line-height:1.2;display:flex;position:absolute;inset:0;overflow:hidden}.swatch__stamp-label{font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight)}.swatch__stamp-value{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9px;overflow:hidden}.swatch__stamp-contrast{opacity:.8;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:8px;overflow:hidden}.swatch__stamp.is-copied{letter-spacing:var(--tracking-widest);text-transform:uppercase}.applyto{border:1px solid var(--rule);background:var(--paper);color:var(--ink);width:min(380px,100vw - 32px);box-shadow:0 8px 32px #0003, 0 0 0 1px var(--rule);z-index:100;margin:0;padding:0;position:fixed;inset:auto}.applyto::backdrop{background:0 0}.applyto__body{gap:var(--space-4);padding:var(--space-4);flex-direction:column;display:flex}.plist{border:1px solid var(--rule);flex-direction:column;max-height:260px;display:flex;overflow-y:auto}.plist .plist__row{align-items:center;gap:var(--space-3);width:100%;height:auto;font-size:var(--text-xs);padding:var(--space-2) var(--space-3);border:none;border-bottom:1px solid var(--rule);background:var(--paper);color:var(--ink);text-align:left;cursor:pointer;display:flex}.plist .plist__row:last-child{border-bottom:none}.plist button.plist__row:hover:not(:disabled),.plist button.plist__row.is-picked{background:var(--grid);color:var(--ink)}.plist__mark{border:1px solid var(--ink);width:14px;height:14px;font-size:var(--text-xs);flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex}.plist__row.is-picked .plist__mark{background:var(--ink);color:var(--paper)}.plist__name{width:11ch;font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;overflow:hidden}.plist__ramp{flex:1;min-width:0;height:16px;display:flex}.plist__chip{flex:1;min-width:0}.plist__foot{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.plist__count{color:var(--muted);font-size:var(--text-xs)}.panel__reset{font-size:var(--text-xs);height:20px;padding:1px 6px}.modes{display:flex}.modes button+button{margin-left:-1px}.scheme{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.scheme__bar{align-items:center;gap:var(--space-4);border-bottom:2px solid var(--rule);padding:var(--space-4) var(--space-7);flex-wrap:wrap;display:flex}.scheme__bars{flex:1;min-width:0;min-height:0;display:flex;position:relative}.sbar{flex:1 1 0;min-width:0;display:flex;position:relative}.scheme--bare .sbar{cursor:default}.sbar__face{min-width:0;padding:var(--space-7);text-transform:none;letter-spacing:var(--tracking-normal);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;display:flex}.sbar__face:hover:not(:disabled){color:inherit;background:0 0}.sbar__face:focus-visible{outline-offset:-6px;outline-color:currentColor}.sbar__read{text-align:center;align-items:center;gap:var(--space-1);opacity:.86;flex-direction:column;min-width:0;max-width:100%;display:flex}.sbar__value{font-size:var(--text-md);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);text-transform:uppercase;white-space:nowrap}.sbar__name{font-size:var(--text-xs);letter-spacing:var(--tracking-normal);opacity:.75;text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.sbar__tools{z-index:3;gap:var(--space-2);flex-direction:column;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sbar__tool{opacity:0;pointer-events:none;background:0 0;border:1px solid;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:opacity 90ms linear;display:inline-flex}.sbar:hover .sbar__tool,.sbar__tools:focus-within .sbar__tool{opacity:.55;pointer-events:auto}.sbar__tool--locked,.sbar:hover .sbar__tool--locked,.sbar__tools:focus-within .sbar__tool--locked{opacity:1;pointer-events:auto}.sbar__tool:hover:not(:disabled){opacity:1;background:0 0}.sbar:hover .sbar__tool:disabled,.sbar__tools:focus-within .sbar__tool:disabled{opacity:.25;color:inherit;border-color:currentColor}.scheme__seam{z-index:2;flex:0 0 0;align-self:stretch;transition:flex-basis .16s cubic-bezier(.2,0,0,1);position:relative}.scheme__seam:before{content:"";position:absolute;inset:0 -14px}.scheme__seam.is-open{flex-basis:36px}.scheme__insert{background:var(--paper);width:26px;height:26px;color:var(--ink);border:1px solid var(--rule);font-size:var(--text-md);font-weight:var(--weight-medium);letter-spacing:var(--tracking-normal);opacity:0;pointer-events:none;place-items:center;padding:0;line-height:1;transition:opacity .12s linear,transform .16s cubic-bezier(.2,0,0,1),background 90ms linear,color 90ms linear;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.3)}.scheme__seam.is-open .scheme__insert,.scheme__insert:focus-visible{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)scale(1)}@media (prefers-reduced-motion:reduce){.scheme__seam,.scheme__insert{transition-duration:1ms}.scheme__insert{transform:translate(-50%,-50%)scale(1)}}.scheme__foot{border-top:1px solid var(--rule);padding:var(--space-3) var(--space-7);color:var(--muted);font-size:var(--text-xs);letter-spacing:var(--tracking-normal)}@media (width<=720px){.scheme__bars{flex-direction:column}.sbar__face{padding:var(--space-5) var(--space-7);justify-content:center}.scheme__seam:before{inset:-14px 0}.sbar__tools{flex-direction:row}}.shades{z-index:4;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.shades__step{border:none;flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;padding:0;display:flex;position:relative}.shades__read{align-items:baseline;gap:var(--space-3);max-width:100%;padding:0 var(--space-4);opacity:0;pointer-events:none;transition:opacity 90ms linear;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.shades__step:hover .shades__read,.shades__step:focus-visible .shades__read{opacity:.92}.shades__value{font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);white-space:nowrap}.shades__name{font-size:var(--text-2xs);letter-spacing:var(--tracking-normal);text-transform:none;opacity:.75;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shades__step.is-here:after{content:"";opacity:.65;background-color:currentColor;border-radius:50%;width:5px;height:5px;transition:opacity 90ms linear;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.shades__step.is-here:hover:after,.shades__step.is-here:focus-visible:after{opacity:0}.shades__step:focus-visible{outline-offset:-3px;outline-color:currentColor}@media (width<=720px){.shades{flex-direction:row}}.blank{justify-content:center;align-items:center;gap:var(--space-7);padding:var(--space-9) var(--space-7);flex-direction:column;flex:1;display:flex}.blank__note{color:var(--muted);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;margin:0}.blank__actions{align-items:center;gap:var(--space-4);flex-wrap:wrap;justify-content:center;display:flex}.blank__actions button{padding:var(--space-4) var(--space-7);font-size:var(--text-md)}@media (prefers-reduced-motion:reduce){button{transition-duration:1ms}}.graph__hit{fill:#0000;touch-action:none;display:none}.scheme__hint--touch{display:none}@media (pointer:coarse){.graph__hit{display:inline}.toolbox__panels>.panel>.graph,.graph{touch-action:pan-y}.graph__handle{touch-action:none}.graph__handle:hover{fill:var(--paper)}}@media (hover:none){.sbar__tool{opacity:.7;pointer-events:auto}.sbar__tool:disabled{opacity:.25}.scheme__seam:before{display:none}.scheme__seam.is-open{flex-basis:0}.scheme__seam:first-child,.scheme__seam:last-child{display:none}.scheme__insert{opacity:1;pointer-events:auto;width:28px;height:28px;font-size:16px;transform:translate(-50%,-50%)scale(1)}.scheme__hint--keys{display:none}.scheme__hint--touch{display:inline}}@media (width<=720px){.masthead{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-4) var(--space-7);flex-wrap:wrap;display:flex}.masthead h1{font-size:var(--text-sm);letter-spacing:var(--tracking-wider)}.masthead__switch{align-items:center;gap:var(--space-3);display:flex}.scheme__foot,.prow__note{display:none}.controls--phone{align-items:stretch;gap:var(--space-4);padding:var(--space-4) var(--space-7);flex-direction:column}.controls--phone .controls__group{flex-wrap:nowrap}.controls__more{align-items:center;gap:var(--space-4) var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--grid);flex-wrap:wrap;display:flex}.controls--phone button,.scheme__bar--phone button{min-height:36px}.scheme__bar--phone{padding:var(--space-4) var(--space-7)}.scheme__bar--phone .scheme__lead{order:-3}.scheme__bar--phone .scheme__more{order:-2;margin-left:auto}.scheme__bar--phone:before{content:"";height:0;margin-top:calc(var(--space-4) * -1);flex-basis:100%;order:-1}.scheme__bar--phone:not(.is-open):before,.scheme__bar--phone:not(.is-open)>:not(.scheme__lead):not(.scheme__more),.scheme__bar--phone>.spacer,.scheme__bar--phone>.divider,.workspace--phone.is-palettes>.toolbox,.workspace--phone.is-edit>.stack{display:none}.workspace--phone>.toolbox{border-top:0;flex:1;height:auto;min-height:0}.panes{border-top:2px solid var(--rule);background:var(--paper);flex:none;display:flex}.panes button{text-overflow:ellipsis;border:0;flex:1 1 0;min-width:0;min-height:48px;overflow:hidden}.panes button+button{border-left:1px solid var(--rule)}.panes__name{text-transform:none;letter-spacing:var(--tracking-normal)}.toolbox__preview{height:112px;margin:0 0 var(--space-3);order:-1;display:flex}.workspace--phone .toolbox__head{padding-top:var(--space-4)}.workspace--phone .toolbox__eyebrow{display:none}.workspace--phone .toolbox__head .toolbox__input-name{font-size:16px;font-weight:var(--weight-semibold)}.toolbox__preview>span{flex:1 1 0;min-width:0}.toolbox__preview>.is-base{box-shadow:inset 0 -4px 0 var(--ink)}.prow__head{row-gap:var(--space-3);flex-wrap:wrap}.prow__head>.spacer{flex-basis:100%;height:0}.prow__moves{gap:var(--space-2);display:inline-flex}.prow .swatch__chip{height:72px}.prow .swatch__meta{padding:var(--space-2) var(--space-1)}.prow .swatch__label{font-size:var(--text-xs);white-space:nowrap;overflow:hidden}.prow .swatch__value,.prow .swatch__sub{display:none}.prow .swatch{position:relative}.prow .swatch__copied{padding:var(--space-1) 0;background:var(--ink);color:var(--paper);text-align:center;font-size:0;line-height:1;position:absolute;top:36px;left:0;right:0;transform:translateY(-50%)}.prow .swatch__copied:before{content:"✓";font-size:var(--text-base)}@media (hover:none){.sbar__face{align-items:flex-start;padding-right:220px}.sbar__read{text-align:left;align-items:flex-start}.sbar__tools{left:auto;right:var(--space-6);gap:var(--space-2);transform:translateY(-50%)}.sbar__tool{width:36px;height:36px}.scheme__insert{left:32px}}}@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not(.toolbox__input-name),select,textarea{font-size:16px!important}.modes button{min-height:32px}.help__open{width:32px;height:32px}.controls__btn-lock{width:36px;height:36px}.prow__head button,.field input.number.prow__input-steps,.prow__input-steps{height:40px}.prow__btn-icon{width:40px}.toolbox__input-color,.toolbox__input-steps,.toolbox__select-step,.toolbox__btn-lock,.toolbox__btn-rederive,.toolbox__panels .panel__pair>button,.field__swatch-wrap,.field__swatch-wrap .toolbox__input-color{height:40px}.field__swatch-wrap .picker{width:40px;height:40px}.toolbox__panels .seg__btn{height:36px}.toolbox__panels>.panel>.panel__head>.panel__reset{height:32px}.panel__head button{min-height:36px}.exportd__minor{padding:var(--space-4) var(--space-5)}.newpal__rules button{height:36px}.plist .plist__row{padding-block:var(--space-5)}}@media (hover:none){button:hover:not(:disabled):not(:focus-visible){background-size:0% 2px}.picker:hover,button.newpal__cand:hover{outline:none}.controls__btn-lock.is-unlocked:hover{color:var(--muted);border-style:dashed}.toolbox__btn-rederive:hover:not(:disabled),.toolbox__panels>.panel>.panel__head>.panel__reset:hover,.exportd__minor:hover:not(:disabled){color:var(--muted);border-color:var(--muted)}.toolbox__panels .seg__btn:hover,.exportd__formats .exportd__format:hover .exportd__ext{color:var(--muted)}.plist button.plist__row:hover:not(:disabled):not(.is-picked){background:var(--paper)}}@media (width<=720px){:root{--text-2xs:10px;--text-xs:11px;--text-sm:12px}.field__tag,.prow__badge{font-size:var(--text-2xs)}}.app,.scheme,.review{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.panes{padding-bottom:env(safe-area-inset-bottom,0px)}@media (width<=720px){.review__bar--phone .review__lead{order:-3}.review__bar--phone .review__more{order:-2;margin-left:auto}.review__bar--phone:before{content:"";height:0;margin-top:calc(var(--space-4) * -1);flex-basis:100%;order:-1}.review__bar--phone button{min-height:36px}.review__bar--phone:not(.is-open):before,.review__bar--phone:not(.is-open)>:not(.review__lead):not(.review__more),.review__bar--phone>h1,.review__bar--phone>.spacer,.review__bar--phone>.divider{display:none}}
