:root{color-scheme:light dark;--c-white: #fff;--c-black: #292f2f;--c-surface: light-dark(var(--c-white), var(--c-black));--c-surface-on: light-dark(var(--c-black), var(--c-white));--c-surface-on-alt: color-mix(in lab, var(--c-surface-on) 50%, var(--c-surface));--c-border: color-mix(in lab, var(--c-surface-on) 20%, var(--c-surface));--s-line: 1px;--s-line--fat: 2px;font-family:Iosevka Web,Iosevka,ui-monospace,SF Mono,Cascadia Code,monospace;font-weight:300;font-size:calc(.75rem + .3vw);line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-color:var(--c-surface-on) var(--c-surface);scrollbar-width:thin}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--c-surface);color:var(--c-surface-on);padding:1rem}::selection{background:var(--c-surface-on);color:var(--c-surface)}h1,h2,h3,label{font-family:inherit;font-weight:400;font-style:normal;margin:0}label{font-size:.75em;letter-spacing:.02em}.palette-viz{display:block;image-rendering:pixelated}.app{position:relative;border:var(--s-line) solid var(--c-surface-on);overflow:hidden}.sidebar{position:absolute;top:0;left:0;bottom:0;z-index:10;display:flex;flex-direction:column;align-items:stretch;width:clamp(200px,35vw,320px);background:var(--c-surface);border-right:var(--s-line) solid var(--c-surface-on)}.sidebar__palette{overflow-y:scroll;flex:1 1 auto;min-height:0}.sidebar__tools{flex:0 0 auto;display:flex;flex-direction:column;gap:0;border-top:var(--s-line) solid var(--c-surface-on)}.sidebar__tools label{display:flex;align-items:center;justify-content:space-between;padding:.4rem .75rem;border-bottom:var(--s-line) solid var(--c-border);gap:1rem}.sidebar__tools label:last-child{border-bottom:none}select,input[type=range],input[type=checkbox],button,textarea{font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit}select{background:var(--c-surface);border:var(--s-line) solid var(--c-surface-on);padding:.2rem 1.4rem .2rem .4rem;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='currentColor'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .4rem center;background-size:.5rem;min-width:8rem}select:focus{outline:var(--s-line) solid var(--c-surface-on);outline-offset:1px}input[type=range]{-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;height:1.2rem;min-width:8rem}input[type=range]::-webkit-slider-runnable-track{height:var(--s-line);background:var(--c-surface-on)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:.5rem;height:.5rem;background:var(--c-surface);border:var(--s-line) solid var(--c-surface-on);border-radius:50%;margin-top:calc(-.5rem / 2 + var(--s-line) / 2);box-shadow:0 0 0 var(--s-line--fat) var(--c-surface)}input[type=range]::-moz-range-track{height:var(--s-line);background:var(--c-surface-on)}input[type=range]::-moz-range-thumb{width:.5rem;height:.5rem;background:var(--c-surface);border:var(--s-line) solid var(--c-surface-on);border-radius:50%;box-shadow:0 0 0 var(--s-line--fat) var(--c-surface)}input[type=checkbox]{width:2rem;height:.7rem;border:var(--s-line) solid var(--c-surface-on);background:var(--c-surface);border-radius:999px;position:relative;cursor:pointer;appearance:none;-webkit-appearance:none;flex:0 0 auto;transition:background .1s linear .15s,border-color .1s linear .15s}input[type=checkbox]:after{content:"";position:absolute;top:1px;left:1px;width:calc(.7rem - 4px);height:calc(.7rem - 4px);border-radius:2rem;background:var(--c-surface-on);transition:transform .15s cubic-bezier(.3,.7,0,1)}input[type=checkbox]:checked{background:var(--c-surface-on);border-color:var(--c-surface-on)}input[type=checkbox]:checked:after{transform:translate(.85rem);background:var(--c-surface)}input[type=checkbox]:focus{outline:var(--s-line) solid var(--c-surface-on);outline-offset:2px}.palette-paste{flex:0 0 auto;resize:none;width:100%;padding:.6rem .75rem;border:none;border-bottom:var(--s-line) solid var(--c-surface-on);background:var(--c-surface);color:var(--c-surface-on);font-size:.8em;height:4em;outline:none;font-family:inherit}.palette-paste::placeholder{color:var(--c-surface-on-alt)}.palette-paste:focus{background:color-mix(in lab,var(--c-surface-on) 4%,var(--c-surface))}.palette__color{background:var(--color)}.color-picker{display:flex;border-bottom:var(--s-line) solid var(--c-border);transition:transform .15s ease,box-shadow .15s linear;position:relative;overflow:hidden}.color-picker:hover{z-index:1;transform:translateY(-1px);box-shadow:0 var(--s-line--fat) 0 0 var(--c-surface-on)}.color-picker input[type=color]{flex:1 1 auto;border:none;cursor:pointer;height:2rem;padding:0 .1rem;background:var(--color);opacity:0}.color-picker button{flex:0 0 auto;width:1.8rem;padding:0;border:none;border-left:var(--s-line) solid var(--c-border);background:var(--c-surface);color:var(--c-surface-on-alt);cursor:pointer;font-size:.65rem;font-family:inherit;transition:background .05s linear,color .05s linear,box-shadow .15s linear,transform .15s cubic-bezier(.3,.7,0,1)}.color-picker button:hover{background:var(--c-surface-on);color:var(--c-surface)}@media(hover:hover){.color-picker button{transform:translate(100%)}.color-picker:hover button{transform:translate(0)}}.palette__add{display:flex;align-items:center;justify-content:center;width:100%;height:2rem;border:none;border-bottom:var(--s-line) solid var(--c-border);background:var(--c-surface);color:var(--c-surface-on-alt);cursor:pointer;font-size:1rem;font-family:inherit;transition:background .05s linear,color .05s linear}.palette__add:hover{background:var(--c-surface-on);color:var(--c-surface)}.viz{display:flex;flex-wrap:wrap;gap:0;align-content:flex-start;overflow:hidden;margin-left:clamp(200px,35vw,320px)}.viz .palette-viz{width:33.3333%!important;aspect-ratio:1;height:auto!important;border-right:var(--s-line) solid var(--c-surface-on);border-bottom:var(--s-line) solid var(--c-surface-on)}.viz .palette-viz:nth-child(3n){border-right:none}.viz .palette-viz:nth-child(n+4){border-bottom:none}.shader-select,.axis-select{display:none}.about{max-width:40rem;margin:5vmin auto;font-size:.9rem;line-height:1.6}.about h1,.about h2{letter-spacing:-.03em;font-weight:200}.about h2{margin-top:2em;margin-bottom:0}.about h2+p,.about h2+figure,.about h2+pre{margin-top:.75em}.about p+p{margin-top:.75em}.about figure{margin:0}.about figcaption{font-size:.8em;color:var(--c-surface-on-alt);margin-bottom:.4em}.about__header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.5rem}.about__header h1{margin:0;line-height:1}a{color:inherit;text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}.about a[href^=http]:not(:has(img)):after{content:" ↗";font-size:.75em;vertical-align:top;display:inline-block;transform:translate(2px,-2px);transition:transform .2s cubic-bezier(.3,.7,0,1)}.about a[href^=http]:not(:has(img)):hover:after{transform:translate(4px,-4px)}.code{display:block;background:var(--c-surface-on);color:var(--c-surface);border:var(--s-line) solid var(--c-border);padding:1rem;font-size:.75rem;line-height:1.5;overflow-x:auto;white-space:pre}.code ::selection{background:var(--c-surface);color:var(--c-surface-on)}pre,code{font:inherit}@media(orientation:portrait){.about{max-width:min(100%,30rem)}}@media(orientation:portrait){body{padding:.5rem}.app{display:flex;flex-direction:column;overflow:visible}.sidebar{position:static;width:100%;border-right:none;border-bottom:var(--s-line) solid var(--c-surface-on)}.viz{margin-left:0}.sidebar__palette{display:flex;flex-wrap:wrap;overflow:visible}.sidebar__palette .color-picker{width:2rem;flex-direction:column}.sidebar__palette .color-picker input[type=color]{height:1.5rem}.sidebar__palette .color-picker button{width:100%;height:1rem;border-left:none;border-top:var(--s-line) solid var(--c-border);transform:none}.sidebar__palette .palette__add{width:2rem;height:2.5rem;border-bottom:none;border-right:var(--s-line) solid var(--c-border)}.viz .palette-viz{width:50%!important}.viz .palette-viz:nth-child(3n){border-right:var(--s-line) solid var(--c-surface-on)}.viz .palette-viz:nth-child(2n){border-right:none!important}.viz .palette-viz:nth-child(n+4){border-bottom:var(--s-line) solid var(--c-surface-on)}.viz .palette-viz:nth-child(n+5){border-bottom:none}}
