@font-face{font-family:Helvetica Neue;src:url(/fonts/HelveticaNeueCyr-Roman.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(/fonts/HelveticaNeueCyr-Roman.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue;src:url(/fonts/HelveticaNeueCyr-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--bg: #fbfbfb;--surface: #ffffff;--ink: #494949;--muted: #9b9b9b;--tool-icon: #9b9b9b;--line: #e8e8e8;--track: #ececec;--soft: #efefef;--warm: #ffffff;--title: #494949;--focus-ring: #494949;--font: "Helvetica Neue", Helvetica, Arial, sans-serif;--sheet-bg: rgba(255, 255, 255, .94);--sheet-border: transparent;--sheet-radius: 12px;--sheet-shadow: none;--sheet-fill: color-mix(in srgb, var(--soft) 88%, transparent);--page-pad-x: 36px;--page-pad-top: 36px;--page-pad-bottom: 36px;--sheet-pad: var(--page-pad-top) var(--page-pad-x) var(--page-pad-x);--desk-rail: 260px;--desk-visor: min(60vmin, 490px);--desk-visor: round(down, min(60vmin, 490px), 2px);--accent-grad: linear-gradient( 90deg, #ddd005 0%, #51f74b 16.666%, #009ab0 33.333%, #ddd005 50%, #51f74b 66.666%, #009ab0 83.333%, #ddd005 100% );--accent-grad-long: linear-gradient( 90deg, #ddd005 0%, #51f74b 16.666%, #009ab0 33.333%, #ddd005 50%, #51f74b 66.666%, #009ab0 83.333%, #ddd005 100% );--pop-ease: cubic-bezier(.22, 1, .36, 1);--pop-in: .4s}:root[data-theme=dark]{--bg: #121212;--surface: #1a1a1a;--ink: #f2f2f2;--muted: #8f8f8f;--tool-icon: #8f8f8f;--line: #2c2c2c;--track: #2a2a2a;--soft: #242424;--warm: #ffffff;--title: #f2f2f2;--focus-ring: #f2f2f2;--sheet-bg: rgba(18, 18, 18, .94);--sheet-border: transparent;--sheet-fill: color-mix(in srgb, var(--soft) 92%, transparent)}:root[data-theme=funk]{--bg: transparent;--surface: rgba(0, 0, 0, .28);--ink: #ffffff;--muted: rgba(255, 255, 255, .62);--tool-icon: #ffffff;--line: rgba(255, 255, 255, .22);--track: rgba(255, 255, 255, .16);--soft: rgba(255, 255, 255, .12);--warm: #ffffff;--title: #ffffff;--focus-ring: #ffffff;--sheet-bg: rgba(10, 10, 12, .92);--sheet-border: transparent;--sheet-fill: color-mix(in srgb, var(--soft) 90%, transparent)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;min-height:100%;min-height:100dvh;background:var(--bg);color:var(--ink);font-family:var(--font);font-weight:400;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;scrollbar-width:none}*{scrollbar-width:none}*::-webkit-scrollbar{width:0;height:0;display:none}canvas,img{-webkit-user-drag:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}button,input,[role=radio],[role=button]{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}@keyframes gradient-shift{0%{background-position:0% center}to{background-position:100% center}}.app{width:100%;max-width:none;margin:0;min-height:100%;min-height:100dvh;height:100%;display:grid;--desk-gutter: round(down, calc((100% - (var(--desk-rail) * 2) - var(--desk-visor)) / 4), 1px);--desk-rest: calc(100% - (var(--desk-rail) * 2) - var(--desk-visor) - (var(--desk-gutter) * 4));--desk-extra-left: round(down, calc(var(--desk-rest) / 2), 1px);--desk-extra-right: calc(var(--desk-rest) - var(--desk-extra-left));grid-template-columns:calc(var(--desk-gutter) + var(--desk-extra-left)) var(--desk-rail) var(--desk-gutter) var(--desk-visor) var(--desk-gutter) var(--desk-rail) calc(var(--desk-gutter) + var(--desk-extra-right));grid-template-rows:auto minmax(0,1fr);column-gap:0;row-gap:clamp(.75rem,1.5vh,1.25rem);padding:var(--page-pad-top) 0 var(--page-pad-bottom);overflow:hidden}.app.is-booting{opacity:0;pointer-events:none}.app.is-ready{animation:app-in .7s ease forwards}.cursor-dot{position:fixed;top:0;left:0;z-index:80;width:18px;height:18px;border-radius:50%;pointer-events:none;opacity:0;background:var(--ink)}@media (pointer: coarse){.cursor-dot{display:none}}@keyframes app-in{0%{opacity:0}to{opacity:1}}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:0;overflow:hidden;background:transparent;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:opacity .95s ease,visibility .95s ease}.intro.is-leaving{opacity:0;visibility:hidden;pointer-events:none}.intro-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;pointer-events:none}.intro-logo-row{position:relative;z-index:2;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.7rem}.intro-iso{width:28px;height:28px;border-radius:8px;background:#fff;box-shadow:none;opacity:0;transform:scale(.88);flex-shrink:0}.intro-iso.is-in{animation:intro-iso-wake .95s cubic-bezier(.22,1,.36,1) both}@keyframes intro-iso-wake{0%{opacity:0;transform:scale(.88)}28%{opacity:1;transform:scale(1.06)}42%{opacity:.2;transform:scale(.97)}58%{opacity:1;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}.intro-title{margin:0;flex-shrink:0;font-size:20px;font-weight:300;letter-spacing:-.03em;color:#fffffff0;text-shadow:0 1px 16px rgba(0,0,0,.25);line-height:1;white-space:nowrap;opacity:0;transform:translateY(4px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}.intro-title.is-in{opacity:1;transform:translateY(2px)}.intro-title.is-spark{animation:intro-volt-type .55s ease}@keyframes intro-volt-type{0%,to{text-shadow:0 1px 16px rgba(0,0,0,.25)}40%{text-shadow:0 0 18px rgba(255,255,255,.55),0 1px 16px rgba(0,0,0,.25)}}.export-modal.is-done{text-align:left;overflow-y:auto;padding:var(--sheet-pad)}.export-hero-copy{min-width:0;text-align:left;margin:0 0 1.05rem}.export-hero-copy .gradients-gallery-title{margin-bottom:.35rem;padding-right:0}.export-title{margin:0;font-size:20px;font-weight:300;letter-spacing:-.03em;color:var(--title);line-height:1.2}.export-title-name{background:var(--live-grad, var(--accent-grad-long));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradient-shift 5s linear infinite}.export-title-ready{color:var(--title)}.export-time{margin:0;font-size:.82rem;color:var(--muted);letter-spacing:-.01em;text-align:left}.export-share-row{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.4rem;margin-bottom:1rem}.share-chip{border:none;background:var(--sheet-fill);border-radius:999px;padding:.42rem .8rem;font-size:.68rem;color:var(--title);cursor:pointer}.share-chip:hover{background:var(--soft);color:var(--title)}.top{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:center;flex-shrink:0;column-gap:0;width:auto}.brand,.theme-toggle{margin:0;font-size:16px;font-weight:300;letter-spacing:-.015em;color:var(--title)}.brand{grid-column:1;justify-self:start;align-self:center;margin-inline-start:var(--page-pad-x);text-align:left;line-height:1}a.brand{text-decoration:none}.brand-stack{grid-column:1;justify-self:start;align-self:center;margin-inline-start:var(--page-pad-x);display:flex;flex-direction:column;align-items:flex-start;gap:.28rem;pointer-events:auto}.brand-stack .brand{grid-column:auto;margin-inline-start:0}.seo-lead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chrome-bar{position:fixed;left:var(--page-pad-x);right:var(--page-pad-x);bottom:var(--page-pad-bottom);z-index:21;display:flex;align-items:center;justify-content:space-between;height:14px;pointer-events:none}.chrome-bar .site-side-nav{display:contents}.chrome-ghost{visibility:hidden;flex:0 0 auto;pointer-events:none}.chrome-ghost--gradients{display:inline-flex;align-items:center;gap:.4rem;font-size:12px;font-weight:400;letter-spacing:-.01em;line-height:14px;height:14px}.chrome-ghost--gradients:before{content:"";width:14px;height:14px;flex-shrink:0}.chrome-ghost--sound{width:14px;height:14px}.site-side-nav{position:fixed;left:var(--page-pad-x);right:var(--page-pad-x);bottom:var(--page-pad-bottom);z-index:22;display:flex;align-items:center;justify-content:space-between;height:14px;pointer-events:none}.site-side{position:relative;z-index:1;flex:0 0 auto;font-size:12px;font-weight:300;letter-spacing:-.01em;line-height:14px;height:14px;color:var(--muted);text-decoration:none;pointer-events:auto}.site-side:hover,.site-side.is-active{color:var(--title)}.top-iso{grid-column:4;justify-self:center;align-self:center;display:flex;align-items:center;line-height:0}.top-tools{grid-column:7;justify-self:end;align-self:center;margin-inline-end:var(--page-pad-x);display:inline-flex;align-items:center;gap:.85rem}.help-toggle{margin:0 0 0 auto;border:none;background:none;padding:0;font-size:16px;font-weight:300;letter-spacing:-.015em;line-height:1;color:var(--muted);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;flex-shrink:0;position:relative;z-index:2}.help-toggle:hover{color:var(--title)}.top-tools .theme-toggle{grid-column:auto;justify-self:auto;margin-inline-end:0}.theme-toggle{grid-column:7;justify-self:end;align-self:center;margin-inline-end:var(--page-pad-x);text-align:right;line-height:1;border:none;background:transparent;padding:0;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.theme-toggle:hover{opacity:.72}.theme-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:2px}.funk-stage{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;height:100dvh;z-index:0;pointer-events:none;overflow:hidden}.funk-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;filter:invert(1)}.funk-veil{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000026;backdrop-filter:blur(2vmax);-webkit-backdrop-filter:blur(2vmax)}.funk-bg-haze{display:none}.funk-title{position:relative;display:inline-flex;align-items:center;justify-content:center;color:#fff}.funk-title-word{color:#fff;font-weight:300}.funk-sparks{display:inline-flex;align-items:center;gap:.18rem;pointer-events:none}.funk-sparks-left{margin-right:.35rem}.funk-sparks-right{margin-left:.28rem}.theme-toggle.is-funk,.theme-toggle.is-funk .funk-title-word{color:#fff}.theme-toggle.is-funk .mood-spark{background:none;color:#fff;-webkit-background-clip:unset;background-clip:unset;animation:mood-sparkle 2.4s ease-in-out infinite}.theme-toggle.is-funk .mood-spark-delayed{animation-delay:.55s}.theme-toggle.is-funk .mood-spark-late{animation-delay:1.1s}.app.is-funk{position:relative;z-index:2}:root[data-theme=funk],:root[data-theme=funk] body,:root[data-theme=funk] #root{background:#0a0a0c}.workspace{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;column-gap:0;min-height:0;align-items:stretch;width:auto}.workspace-soft,.flow,.visor-pin{display:contents}.funk-chrome-blur,.funk-pin-blur,.funk-compact-blur{display:none}.workspace-scroll{display:contents}.center-spacer{display:none}.params{display:contents}.rail-left,.rail-right{width:var(--desk-rail);min-width:var(--desk-rail);max-width:var(--desk-rail);justify-self:stretch;align-self:stretch;box-sizing:border-box;min-height:0;height:100%;max-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-top:0;padding-bottom:1.25rem}.rail-spacer{flex:0 0 auto;width:100%;height:0;pointer-events:none;overflow-anchor:none}.rail-left{grid-column:2;grid-row:1}.rail-right{grid-column:6;grid-row:1}.center{grid-column:4;grid-row:1;min-width:0;min-height:0;height:100%;width:max-content;max-width:100%;justify-self:center;align-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem}.rail{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-left:0;padding-right:0;padding-bottom:.15rem}.rail-inner{display:flex;flex-direction:column;gap:clamp(1.35rem,2.4vh,2rem);min-width:0;flex:0 0 auto;overflow-anchor:none}.rail-left::-webkit-scrollbar,.rail-right::-webkit-scrollbar{width:0;height:0;display:none}.header-icon-btn{padding:0;border:none;background:transparent;cursor:pointer;line-height:0;border-radius:8px;flex-shrink:0}.header-icon-btn:focus-visible{outline:2px solid var(--title, #111);outline-offset:2px}.header-icon{width:28px;height:28px;border-radius:8px;display:block;flex-shrink:0;pointer-events:none}.name-block{display:flex;flex-direction:column;align-items:center;gap:.15rem;flex-shrink:0;align-self:stretch;width:100%;max-width:100%;min-width:0;margin-top:23px;box-sizing:border-box}.name-block-quiet{gap:0}.name-label{font-size:12px;color:var(--title);font-weight:300}.rail-section-label{margin:1rem 0 .35rem;padding:0 0 .15rem;font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);opacity:.75;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.rail-section-label:first-child{margin-top:0}.name-input{display:block;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;background:transparent;background-image:none;box-shadow:none;border-radius:0;text-align:center;font:inherit;font-size:28px;font-weight:300;letter-spacing:-.03em;line-height:1.15;color:var(--muted);outline:none;width:100%;max-width:100%;min-width:0;padding:0;margin:0;resize:none;overflow:hidden;field-sizing:content;white-space:pre-wrap;overflow-wrap:anywhere;caret-color:var(--muted);-webkit-tap-highlight-color:transparent;writing-suggestions:none}.name-input::placeholder{color:color-mix(in srgb,var(--muted) 70%,transparent)}.name-input::selection,.name-input::-moz-selection{background:transparent;color:inherit}.name-input:focus,.name-input:focus-visible{color:var(--ink);outline:none;box-shadow:none;caret-color:var(--ink)}.control{min-width:0}.control-title{margin:0 0 .7rem;font-size:14px;font-weight:400;letter-spacing:-.01em;color:var(--title)}.format-row{display:flex;gap:14px;align-items:flex-end}.format-btn{border:none;background:none;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px}.format-frame{display:block;background:var(--soft);border-radius:7px}.format-1x1 .format-frame{width:44px;height:44px}.format-4x5 .format-frame{width:35px;height:44px}.format-9x16 .format-frame{width:26px;height:44px}.format-16x9 .format-frame{width:48px;height:28px}.format-label{font-size:12px;line-height:12px;color:var(--muted)}.format-btn.is-active .format-label{color:var(--ink)}.swatch-line{display:flex;align-items:center;width:100%;min-width:0}.swatch-row{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;flex:1;min-width:0;padding:4px;overflow:visible}.swatch{position:relative;isolation:isolate;width:22px;height:22px;border-radius:50%;cursor:grab;border:none;padding:0;z-index:0;flex-shrink:0;background-clip:padding-box;touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform}.swatch-row.is-reordering .swatch{transition:none}.swatch:active,.swatch.is-dragging{cursor:grabbing}.swatch.is-dragging{z-index:3}.swatch.is-selected:not(.is-locked):before,.swatch.is-picking:not(.is-locked):before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;padding:3.6px;box-sizing:border-box;background:var(--live-conic, var(--live-grad, var(--accent-grad-long)));animation:swatch-ring-spin 4.5s linear infinite;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:-1}.swatch.is-locked:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;padding:3.6px;box-sizing:border-box;background:var(--lock-ring, currentColor);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:-1}@keyframes swatch-ring-spin{to{transform:rotate(360deg)}}.swatch-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;order:999}.swatch-add{width:22px;height:22px;border-radius:50%;border:none;background:var(--track);color:var(--muted);cursor:pointer;line-height:1;padding:0;font-size:14px;font-weight:400;display:grid;place-items:center}.swatch-add:disabled{opacity:.35;cursor:not-allowed}.swatch-delete{width:22px;height:22px;border-radius:50%;border:none;background:transparent;color:var(--muted);cursor:pointer;margin:0;padding:0;display:grid;place-items:center;line-height:0}.swatch-delete:hover:not(:disabled){color:var(--ink)}.swatch-delete.is-armed:not(:disabled){background:var(--track);color:var(--ink)}.swatch-delete:disabled{opacity:.35;cursor:not-allowed}.trash-icon{width:14px;height:14px;display:block;color:inherit;line-height:0}.trash-icon svg{width:100%;height:100%;display:block}.swatch-lock-row{margin-top:.55rem;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 1rem}.lock-btn{display:inline-flex;align-items:center;gap:.4rem;border:none;background:none;padding:.15rem 0;cursor:pointer;font-size:12px;font-weight:400;letter-spacing:-.01em;color:var(--muted);font-family:inherit}.lock-btn:hover,.lock-btn.is-on{color:var(--title)}.lock-icon{width:14px;height:14px;flex-shrink:0;display:block;color:inherit;line-height:0}.lock-icon svg{width:100%;height:100%;display:block}.help-text{margin:.55rem 0 0;font-size:12px;line-height:1.4;color:var(--muted);max-width:15.5rem}.position-pad-row{display:flex;align-items:flex-end;gap:.55rem;margin-top:.75rem;max-width:100%}.position-pad{position:relative;margin-top:0;width:100%;aspect-ratio:1.35;max-width:150px;flex:0 0 auto;background:var(--soft);border-radius:12px;cursor:crosshair;touch-action:none;overflow:visible}.position-dot{position:absolute;width:22px;height:22px;border-radius:50%;border:2px solid transparent;transform:translate(-50%,-50%);box-shadow:none;pointer-events:auto;cursor:pointer;touch-action:none;z-index:1;opacity:.9}.position-dot.is-active{background-clip:padding-box;opacity:1;z-index:2}.position-dot.is-active:after{content:"";position:absolute;top:-1.4px;right:-1.4px;bottom:-1.4px;left:-1.4px;border-radius:50%;border:2.2px solid var(--dot-ring, #fff);box-shadow:0 0 0 1px #00000059;pointer-events:none}.position-pad-meta{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:.1rem;min-width:0;padding-bottom:.1rem}.position-pad-meta .color-name-hex{font-size:12px;line-height:1.2}.position-pad-meta .color-name-input{font-size:12px;max-width:7rem;text-align:left;line-height:1.2}.nested-label{margin:0 0 .45rem;font-size:12px;color:var(--muted)}.nested-pill+.nested-pill{margin-top:1rem}.pill-slider{width:100%;touch-action:none}.pill-track{--pill-h: 32px;position:relative;display:flex;align-items:center;min-height:var(--pill-h);height:var(--pill-h);padding:0;background:#0000000d;border-radius:999px;touch-action:none;cursor:pointer;user-select:none;-webkit-user-select:none}.pill-range{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:.001;cursor:pointer;z-index:3;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:none;outline:none;box-shadow:none;-webkit-tap-highlight-color:transparent}.pill-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--pill-h);height:var(--pill-h);background:transparent}.pill-range::-moz-range-thumb{width:var(--pill-h);height:var(--pill-h);border:none;background:transparent}.pill-range:focus,.pill-range:focus-visible,.pill-label:focus,.pill-label:focus-visible{outline:none;box-shadow:none}.pill-labels{position:relative;z-index:4;display:flex;justify-content:space-between;width:100%;padding:0 15px;box-sizing:border-box;pointer-events:none}.pill-label{position:relative;top:1px;border:none;background:none;padding:.35rem .15rem;margin:0;font-size:12px;color:var(--muted);letter-spacing:-.01em;pointer-events:none;cursor:pointer;transition:color .45s ease}.pill-label[aria-pressed=true]{color:var(--pill-ink, var(--title))}body.is-slider-dragging .pill-label{pointer-events:none}.pill-thumb{position:absolute;top:50%;left:calc(var(--pill-h) / 2);width:var(--pill-h);height:var(--pill-h);aspect-ratio:1;flex-shrink:0;box-sizing:border-box;border-radius:50%;background:#494949;transform:translate(-50%,-50%);pointer-events:none;z-index:2;transition:background .35s ease;box-shadow:none;will-change:left}.pill-thumb-star{position:absolute;top:50%;left:calc(var(--pill-h) / 2);z-index:6;display:grid;place-items:center;width:16px;height:16px;margin:-8px 0 0 -8px;opacity:0;pointer-events:none}.pill-thumb-star-glyph{font-size:11px;line-height:1;color:#fff;transform:translateY(.08em);transform-origin:center}.pill-thumb-star.is-anchored{opacity:1}.pill-thumb-star.is-anchored .pill-thumb-star-glyph{animation:mood-sparkle 2.4s ease-in-out infinite}.from-image{margin-top:1rem}.from-image-title{margin:0 0 .7rem}.from-image-btn{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:32px;padding:2px 15px 0;border:none;border-radius:999px;background:#0000000d;font-size:12px;font-weight:400;letter-spacing:-.01em;color:var(--muted);cursor:pointer;z-index:0;transition:color .45s ease,background-color .45s ease}.from-image-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;padding:calc(1.7px + .1mm);border-radius:inherit;background:var(--live-grad, var(--accent-grad-long));background-size:200% 100%;background-repeat:no-repeat;opacity:0;transition:opacity .45s ease;animation:gradient-shift 5s linear infinite;animation-play-state:paused;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:-1}.from-image-btn:hover{color:var(--title);background:transparent}.from-image-btn:hover:before{opacity:1;animation-play-state:running;animation-duration:2.2s}.from-image-btn:disabled{opacity:.55;cursor:wait}.extract-panel{margin-top:.75rem;animation:sheet-in var(--pop-in) var(--pop-ease) both}.extract-label{margin:0 0 .45rem}.extract-swatches{margin-bottom:.35rem}.swatch.is-static{cursor:default;pointer-events:none}.extract-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.35rem}.tool-block{margin-top:1rem}.tool-block-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.tool-block-head .control-title{margin:0}.chip-row{display:flex;flex-wrap:wrap;gap:.35rem .55rem}.chip{border:none;background:none;padding:0;cursor:pointer;font-size:12px;font-weight:400;letter-spacing:-.01em;color:var(--muted);font-family:inherit}.chip:hover,.chip.is-active{color:var(--title)}.mood-spark{display:inline-block;font-size:8px;line-height:1;transform:translateY(.08em);background:var(--live-grad, var(--accent-grad-long));background-size:200% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;animation:mood-sparkle 2.4s ease-in-out infinite,gradient-shift 5s linear infinite;transform-origin:center}.randomize-btn:hover .mood-spark{animation-duration:1.6s,2.2s}.randomize-sparks-left .mood-spark{animation-delay:0s,0s}.mood-spark-delayed{animation-delay:.55s,0s}.mood-spark-late{animation-delay:1.1s,0s;font-size:8px;margin-left:.1mm}@keyframes mood-sparkle{0%,to{opacity:.35;transform:translateY(.08em) scale(.85)}50%{opacity:1;transform:translateY(.08em) scale(1.15)}}.text-action{border:none;background:none;padding:0;cursor:pointer;font-size:12px;font-weight:400;letter-spacing:-.01em;color:var(--muted);font-family:inherit}.text-action:hover{color:var(--title)}.color-name-row{display:flex;flex-direction:row;align-items:baseline;justify-content:flex-end;gap:.55rem;margin-top:0;min-width:0}.cp-meta{display:flex;flex-direction:row;align-items:baseline;justify-content:flex-end;gap:.55rem;margin-top:.55rem;min-width:0}.color-name-hex{font-size:12px;color:var(--muted);letter-spacing:-.01em;flex-shrink:0;line-height:1.2}.color-name-input{border:none;background:transparent;padding:0;font-size:12px;color:var(--title);font-family:inherit;letter-spacing:-.01em;width:auto;max-width:7.5rem;min-width:0;line-height:1.2;text-align:right}.color-name-input:focus{outline:none}.saved-row{display:flex;flex-direction:column;gap:.2rem}.saved-item{display:flex;align-items:center;gap:.25rem;border-radius:6px;cursor:grab}.saved-item:active{cursor:grabbing}.saved-item.is-dragging{opacity:.45}.saved-item.is-drag-over{background:var(--soft)}.saved-slot{display:flex;align-items:center;gap:.55rem;border:none;background:none;padding:.2rem .15rem;cursor:inherit;font-family:inherit;text-align:left;flex:1;min-width:0}.saved-num{font-size:12px;color:var(--muted);width:1.4rem;flex-shrink:0}.saved-dots{display:flex;gap:4px}.saved-dots i{width:10px;height:10px;border-radius:50%;display:block}.saved-delete{border:none;background:none;color:var(--muted);cursor:pointer;padding:.2rem;margin:0;display:grid;place-items:center;flex-shrink:0;line-height:0;opacity:.55}.saved-delete:hover{color:var(--ink);opacity:1}.saved-delete .trash-icon{width:12px;height:12px}.utility-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:.85rem;width:100%;margin-top:calc(.15rem + 24px)}.utility-row-side{display:flex;align-items:center;gap:.85rem;min-width:0}.utility-row-side.is-start{grid-column:1;justify-self:end;justify-content:flex-end}.utility-row-side.is-end{grid-column:3;justify-self:start;justify-content:flex-start}.utility-row>.utility-icon-btn{grid-column:2;justify-self:center}.utility-icon-btn{position:relative;isolation:isolate;border:none;background:none;color:var(--muted);cursor:pointer;padding:.2rem;margin:0;line-height:0;display:inline-flex;align-items:center;justify-content:center;-moz-appearance:none;appearance:none;-webkit-appearance:none;font-family:inherit;overflow:visible}.utility-icon-btn:hover{color:var(--title)}.utility-icon-btn svg{display:block;overflow:visible}.utility-icon-btn svg.save-icon{width:14px;height:14px;transform:scale(1.12);transform-origin:center}.utility-text-btn{border:none;background:none;color:var(--muted);font-size:12px;font-weight:400;letter-spacing:-.01em;cursor:pointer;padding:0;margin:0;font-family:inherit;line-height:1}.utility-text-btn:hover{color:var(--title)}.utility-text-btn:disabled{opacity:.42;cursor:not-allowed}.utility-icon-btn.is-filling{color:var(--muted);pointer-events:none}.utility-icon-btn.is-flying{pointer-events:none}.save-heart-flyer{position:fixed;z-index:60;width:14px;height:14px;margin:0;padding:0;pointer-events:none;offset-path:var(--fly-path);offset-rotate:0deg;offset-anchor:center;transform-origin:center;animation:save-heart-fly 1.2s cubic-bezier(.42,.02,.18,1) forwards;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--warm) 40%,white));will-change:offset-distance,transform,opacity}.save-heart-flyer-body{position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--heart-fill);background-size:cover;background-position:center;background-repeat:no-repeat;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12'%3E%3Cpath fill='%23000' d='M8.26586 10.844C7.55372 11.5495 6.45077 11.5495 5.73863 10.844L1.49139 6.63608C-1.34994 3.7947 2.36033 -2.48294 7.00224 2.15897C11.636 -2.47478 15.3463 3.80295 12.5131 6.63608L8.26586 10.844Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12'%3E%3Cpath fill='%23000' d='M8.26586 10.844C7.55372 11.5495 6.45077 11.5495 5.73863 10.844L1.49139 6.63608C-1.34994 3.7947 2.36033 -2.48294 7.00224 2.15897C11.636 -2.47478 15.3463 3.80295 12.5131 6.63608L8.26586 10.844Z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.save-heart-flyer:before,.save-heart-flyer:after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:#fff;box-shadow:0 0 7px 1px #ffffffe0;pointer-events:none}:root:not([data-theme=dark]):not([data-theme=funk]) .save-heart-flyer:before,:root:not([data-theme=dark]):not([data-theme=funk]) .save-heart-flyer:after{background:var(--heart-fill);background-size:cover;background-position:center;box-shadow:0 0 8px 1px color-mix(in srgb,var(--warm) 35%,transparent)}.save-heart-flyer:before{animation:save-heart-spark-a 1.2s cubic-bezier(.42,.02,.18,1) both}.save-heart-flyer:after{animation:save-heart-spark-b 1.2s cubic-bezier(.42,.02,.18,1) both}@keyframes save-heart-fly{0%{offset-distance:0%;transform:scale(1);opacity:1}to{offset-distance:100%;transform:scale(.32);opacity:0}}@keyframes save-heart-spark-a{0%{transform:translate(-8px,-9px) scale(.75);opacity:.9}to{transform:translate(-11px,5px) scale(0);opacity:0}}@keyframes save-heart-spark-b{0%{transform:translate(9px,-6px) scale(.7);opacity:.85}to{transform:translate(12px,7px) scale(0);opacity:0}}.gradients-dock.is-catch{animation:gradients-dock-catch .35s var(--pop-ease)}.gradients-dock.is-catch .gradients-dock-head{color:var(--title)}@keyframes gradients-dock-catch{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}.utility-slot--mobile,.utility-slot--desk{display:none}.share-note{margin:.25rem 0 0;font-size:12px;color:var(--muted)}@media (min-width: 981px){.brand,.theme-toggle{font-size:16px;white-space:nowrap}.brand{grid-column:1 / 3}.name-block{padding-bottom:16px}.center-actions .export-btn{margin-top:16px}.preview-frame[data-format="1:1"] .preview-art,.preview-frame[data-format="1:1"] .preview-canvas{border-radius:76px}.utility-slot--mobile{display:none}.utility-slot--desk{display:block;width:100%;margin-top:.85rem}.utility-slot--desk .utility-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;column-gap:.85rem;row-gap:.45rem;margin-top:0}.utility-slot--desk .utility-row-side{display:contents}.utility-slot--desk .utility-row>.utility-icon-btn{justify-self:unset}}.picker-wrap{position:relative;margin-top:.75rem;z-index:5}.color-picker{width:220px;background:#0000000d;border:none;border-radius:var(--sheet-radius);padding:.85rem;box-shadow:none;transform-origin:16px top;animation:sheet-in var(--pop-in) var(--pop-ease) both}.cp-sv{position:relative;width:100%;aspect-ratio:1.25;border-radius:10px;overflow:hidden;cursor:crosshair;touch-action:none}.cp-sv-white,.cp-sv-black{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.cp-sv-white{background:linear-gradient(to right,#fff,transparent)}.cp-sv-black{background:linear-gradient(to top,#000,transparent)}.cp-sv-thumb{position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid #1a1a1a;box-shadow:none;transform:translate(-50%,-50%);pointer-events:none}.cp-hex-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;margin-top:.7rem;align-items:stretch}.cp-hex{width:100%;min-width:0;border:none;border-radius:10px;padding:.45rem .6rem;font-size:12px;color:var(--title);outline:none;background:var(--surface);overflow:hidden;text-overflow:ellipsis}.cp-hex:focus{outline:none}.cp-format-wrap{position:relative}.cp-format{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;height:100%;min-width:58px;border:none;border-radius:10px;font-size:12px;letter-spacing:.04em;color:var(--title);padding:0 .55rem;background:var(--surface);cursor:pointer}.cp-format-caret{width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:4px solid var(--muted)}.cp-format-menu{position:absolute;right:0;top:calc(100% + 4px);margin:0;padding:.25rem;list-style:none;background:#0000000d;border:none;border-radius:12px;box-shadow:none;z-index:6;min-width:100%;transform-origin:calc(100% - 12px) top;animation:sheet-in var(--pop-in) var(--pop-ease) both}.cp-format-menu button{display:block;width:100%;border:none;background:none;text-align:left;padding:.4rem .55rem;font-size:12px;color:var(--title);cursor:pointer;border-radius:6px}.cp-format-menu button:hover{background:var(--soft)}.cp-row{display:flex;align-items:center;gap:.65rem;margin-top:.75rem}.cp-swatch{width:22px;height:22px;border-radius:50%;flex-shrink:0;box-shadow:inset 0 0 0 1px #00000014}.cp-hue{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:10px;border-radius:999px;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);outline:none}.cp-hue::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#1a1a1a;border:2px solid #1a1a1a;box-shadow:none;cursor:pointer}.cp-hue::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#1a1a1a;border:2px solid #1a1a1a;box-shadow:none;cursor:pointer}.movement-pad{--move-pad: 128px;position:relative;box-sizing:border-box;width:var(--move-pad);height:var(--move-pad);aspect-ratio:1;flex:0 0 auto;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:.15rem;background:var(--soft);border-radius:16px;padding:.55rem;--move-accent: var(--ink)}.move-highlight{position:absolute;z-index:0;border-radius:8px;pointer-events:none;background:#ffffffbf;transition:left .68s cubic-bezier(.33,1,.68,1),top .68s cubic-bezier(.33,1,.68,1)}.move-cell{position:relative;z-index:1;border:none;background:transparent;border-radius:8px;cursor:pointer;color:var(--move-accent);display:grid;place-items:center;padding:0}.move-cell.is-active{background:transparent}.move-arrow{display:block;color:var(--move-accent);transform-origin:center}.move-cell[data-radio=n] .move-arrow{transform:rotate(0)}.move-cell[data-radio=e] .move-arrow{transform:rotate(90deg)}.move-cell[data-radio=s] .move-arrow{transform:rotate(180deg)}.move-cell[data-radio=w] .move-arrow{transform:rotate(270deg)}.move-cell[data-radio=ne] .move-arrow{transform:translate(-1px,1px) rotate(45deg)}.move-cell[data-radio=se] .move-arrow{transform:translate(-1px,-1px) rotate(135deg)}.move-cell[data-radio=sw] .move-arrow{transform:translate(1px,-1px) rotate(225deg)}.move-cell[data-radio=nw] .move-arrow{transform:translate(1px,1px) rotate(315deg)}.move-cell.is-center .move-dot{width:7px;height:7px;border-radius:50%;background:var(--move-accent)}.preview-shell{width:auto;flex:0 0 auto;min-height:0;display:flex;align-items:center;justify-content:center}@media (min-width: 981px){.app:not(.piece-app) .preview-shell{margin-top:-12px;margin-bottom:12px}.center-actions>.export-btn{top:-12px}.center-actions>.randomize-btn{top:2px}}.preview-stage{position:relative;width:min(60vmin,490px);height:min(60vmin,490px);width:var(--desk-visor);height:var(--desk-visor);flex:0 0 auto;display:flex;align-items:center;justify-content:center;min-height:0}.preview-frame{position:relative;line-height:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.preview-canvas{border-radius:36px;display:block;max-width:100%;max-height:100%;background:transparent;object-fit:cover;box-shadow:none;transition:border-radius .5s cubic-bezier(.22,1,.36,1)}.preview-canvas.is-spare{position:absolute;top:0;right:0;bottom:0;left:0;visibility:hidden;pointer-events:none}.preview-art{position:relative;line-height:0;max-width:100%;max-height:100%;overflow:hidden;border-radius:36px;background:var(--soft);transition:border-radius .5s cubic-bezier(.22,1,.36,1)}.preview-logo-box{position:absolute;transform:translate(-50%,-50%);line-height:0;z-index:2;cursor:grab}.preview-logo-box.is-placing{cursor:grabbing;touch-action:none;filter:drop-shadow(0 2px 10px rgba(0,0,0,.28))}.preview-logo-box.is-over-trash{opacity:.45;transition:opacity .15s ease}.preview-logo-box.is-placing:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:14px;padding:1.7px;box-sizing:border-box;background:var(--live-grad, var(--accent-grad-long));background-size:200% 100%;background-repeat:no-repeat;animation:gradient-shift 5s linear infinite;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:auto}.preview-logo-box.is-passthrough{pointer-events:none;cursor:inherit}.preview-logo{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.logo-guides{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.logo-guide{position:absolute;background:#ffffff4d;border-radius:999px}.logo-guide.is-v{left:50%;top:6%;bottom:6%;width:2px;transform:translate(-50%)}.logo-guide.is-h{top:50%;left:6%;right:6%;height:2px;transform:translateY(-50%)}.logo-place-bar{position:absolute;left:50%;top:max(10px,3.5mm);bottom:auto;transform:translate(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:auto}.logo-place-bar .tool-clear-float{position:relative;top:auto;right:auto}.logo-place-bar .tool-clear-float.is-armed{opacity:1;background:#fff}.logo-place-done{border:0;padding:0;margin-top:6px;background:none;color:#fff;font:inherit;font-size:14px;line-height:1;cursor:pointer}.preview-frame.is-view .preview-canvas{cursor:pointer}.preview-frame.is-view,.preview-frame.is-view .preview-canvas{touch-action:pan-y}.preview-frame.is-brush,.preview-frame.is-brush .preview-canvas,.preview-frame.is-finger,.preview-frame.is-finger .preview-canvas{cursor:crosshair;touch-action:none}.preview-tools{position:absolute;left:50%;bottom:5mm;transform:translate(-50%);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;z-index:2;padding:8px 12px;pointer-events:auto}.tool-clear-float{position:absolute;top:max(10px,3.5mm);right:max(10px,3.5mm);z-index:3;pointer-events:auto;width:28px;height:28px;border-radius:9px;background:#ffffff8c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:.72;transition:opacity .2s ease,background .2s ease}.tool-clear-float:hover{opacity:1;background:#ffffffeb}.tool-clear-float .icon-asset{width:14px;height:14px;background-color:var(--tool-icon)}.tool-clear-float:hover .icon-asset{background-color:var(--ink)}body.is-exporting .preview-tools,body.is-exporting .tool-btn,body.is-exporting .tool-clear-float,body.is-exporting .logo-place-bar{display:none!important;pointer-events:none!important}body.is-exporting .preview-frame{pointer-events:none}.tool-btn{pointer-events:auto;position:relative;width:34px;height:34px;border-radius:50%;border:none;background:#0a0a0a61;box-shadow:inset 0 0 0 1px #ffffff2e;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);cursor:pointer;display:grid;place-items:center;padding:0;transition:background .35s ease,box-shadow .35s ease}.tool-btn:hover{background:#0a0a0a85}.tool-btn.is-active{background:#fff3;box-shadow:inset 0 0 0 1px #ffffff80}.preview-tools .icon-asset{background-color:#ffffffeb}.preview-tools .icon-asset,.preview-tools .icon-pause{transition:transform .5s cubic-bezier(.2,.8,.2,1)}.tool-btn:hover .icon-brush{transform:rotate(-14deg) translateY(-1px)}.tool-btn:active .icon-brush{transform:rotate(-6deg) scale(.94)}.tool-btn:hover .icon-finger{transform:translateY(1px) scale(1.06)}.tool-btn:active .icon-finger{transform:scale(.94)}.tool-btn:hover .icon-play,.tool-btn:hover .icon-pause{transform:scale(1.08)}.tool-btn:active .icon-play,.tool-btn:active .icon-pause{transform:scale(.9)}.icon-pause{width:8px;height:10px;border-left:2.5px solid rgba(255,255,255,.92);border-right:2.5px solid rgba(255,255,255,.92)}.tool-btn:hover .icon-pause,.tool-btn.is-active .icon-pause{border-left-color:var(--ink);border-right-color:var(--ink)}.preview-tools .tool-btn:hover .icon-asset,.preview-tools .tool-btn.is-active .icon-asset{background-color:#fff}.preview-tools .tool-btn:hover .icon-pause,.preview-tools .tool-btn.is-active .icon-pause{border-left-color:#fff;border-right-color:#fff}.icon-asset{display:block;width:17px;height:17px;background-color:var(--tool-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-mode:alpha;mask-mode:alpha}.tool-btn.is-active .icon-asset,.tool-btn:hover .icon-asset{background-color:var(--ink)}.icon-brush{-webkit-mask-image:url(/tools/brush.png);mask-image:url(/tools/brush.png)}.icon-lock{-webkit-mask-image:url(/tools/lock.png);mask-image:url(/tools/lock.png)}.icon-finger{-webkit-mask-image:url(/tools/finger.png);mask-image:url(/tools/finger.png)}.icon-play{-webkit-mask-image:url(/tools/play.png);mask-image:url(/tools/play.png)}.tool-btn:hover .icon-play{background-color:var(--ink)}.icon-trash{-webkit-mask-image:url(/tools/trash.png);mask-image:url(/tools/trash.png)}.tool-btn:disabled{opacity:.35;cursor:default}.icon-tool,.icon-clear{display:none}.center-actions{display:flex;flex-direction:column;align-items:center;gap:.65rem;flex-shrink:0;margin-top:16px;position:relative;top:-12px}.export-btn{position:relative;isolation:isolate;min-width:200px;padding:22px 42px 20px;border-radius:999px;border:none;background:transparent;cursor:pointer;font-size:16px;line-height:16px;font-weight:400;letter-spacing:-.01em;color:var(--title);z-index:0}.export-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;padding:2px;border-radius:inherit;background:var(--live-grad, var(--accent-grad-long));background-size:200% 100%;background-repeat:no-repeat;animation:gradient-shift 5s linear infinite;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:-1}.export-btn:hover:before{animation-duration:2.2s}.export-btn:disabled{opacity:.65;cursor:wait}.randomize-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;padding:.2rem .35rem}.randomize-label{position:relative;top:1px;font-size:16px;font-weight:400;letter-spacing:-.01em;background:var(--live-grad, var(--accent-grad-long));background-size:200% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradient-shift 5s linear infinite}.randomize-sparks{position:absolute;top:50%;transform:translateY(calc(-50% + 1px));display:inline-flex;align-items:center;gap:.18rem;pointer-events:none}.randomize-sparks-left{right:100%;margin-right:.2rem}.randomize-sparks-right{left:100%;margin-left:.2rem}.randomize-btn:hover .randomize-label{animation-duration:2.2s}.rail-right .reset-link{align-self:flex-end;margin-top:.35rem}.reset-link{border:none;background:none;color:var(--muted);font-size:14px;cursor:pointer;padding:0}.reset-link:hover{color:var(--title)}.reset-btn{border:none;background:none;color:var(--muted);font-size:12px;font-weight:400;letter-spacing:-.01em;cursor:pointer;padding:.15rem .35rem;margin-top:15px;font-family:inherit}.reset-btn:hover{color:var(--title)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:80;padding:var(--page-pad-top) var(--page-pad-x) var(--page-pad-x);isolation:isolate;background:#08080a94;backdrop-filter:blur(22px) saturate(1.08);-webkit-backdrop-filter:blur(22px) saturate(1.08);animation:sheet-backdrop-in var(--pop-in) var(--pop-ease) both}@keyframes sheet-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}:root:not([data-theme=dark]):not([data-theme=funk]) .modal-backdrop{background:#fbfbfbd6}.export-modal{position:relative;z-index:1;display:flex;flex-direction:column;width:min(100%,560px);max-height:min(88dvh,720px);overflow:hidden;overscroll-behavior:contain;background:var(--sheet-bg);border-radius:var(--sheet-radius);border:none;padding:var(--page-pad-top) var(--page-pad-x) 0;margin:auto;box-shadow:var(--sheet-shadow);backdrop-filter:none;-webkit-backdrop-filter:none;scrollbar-width:none;animation:sheet-in var(--pop-in) var(--pop-ease) both;transform-origin:50% 40%}.export-modal-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.export-modal-footer{flex-shrink:0;padding:.85rem 0 var(--page-pad-x);background:var(--sheet-bg)}.export-modal-footer .export-confirm{margin-top:0}.export-modal-footer .export-note{margin-top:0;margin-bottom:.65rem}.export-modal-footer .export-progress{margin-bottom:.65rem}.export-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1.15rem}.modal-close{position:absolute;top:var(--page-pad-top);right:var(--page-pad-x);z-index:3;width:22px;height:22px;border:none;background:var(--track);border-radius:50%;font-size:1.1rem;line-height:0;color:var(--muted);cursor:pointer;padding:0;flex-shrink:0;box-shadow:none;display:inline-flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--title);background:var(--track)}.modal-close svg{display:block}.export-duration{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .85rem;margin:-.1rem 0 .25rem;padding:0 .15rem}.export-duration .chip{font-size:12px}.export-thumb-wrap{position:relative;display:flex;justify-content:center;align-items:center;width:100%;margin:12px 0 1.15rem;max-height:min(42vh,340px);isolation:isolate}.export-thumb-wrap:after{content:none}.export-thumb{border-radius:14px;display:block;background:color-mix(in srgb,var(--soft) 80%,transparent);width:auto;height:auto;max-width:100%;box-shadow:none}.export-done{display:flex;flex-direction:column;align-items:stretch;position:relative;padding-top:.2rem}.export-done-close{position:absolute;top:.85rem;right:.95rem}.export-done-eyebrow{margin:0 0 .15rem;font-size:14px;letter-spacing:-.01em;color:var(--muted)}.export-done-title{margin:0 0 1.05rem;font-size:20px;font-weight:300;letter-spacing:-.03em;color:var(--title);line-height:1.2}.export-share-row{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.4rem;margin-bottom:1.05rem}.share-chip{border:none;background:var(--sheet-fill);border-radius:999px;padding:calc(.42rem + 1px) .8rem calc(.42rem - 1px);font-size:.68rem;color:var(--title);cursor:pointer}.share-chip:hover{background:var(--soft)}.export-options{display:flex;flex-direction:column;gap:.45rem;margin-top:6px}.export-option{display:flex;align-items:center;gap:.75rem;width:100%;text-align:left;border:none;background:var(--sheet-fill);border-radius:14px;padding:.75rem .85rem;cursor:pointer;color:var(--title)}.export-option.is-active{border-color:transparent;background:var(--soft)}.export-option-dot{display:block;width:1.05rem;height:1.05rem;border-radius:999px;border:none;flex-shrink:0;margin-left:auto;background:#0000001a;transition:background .18s ease,box-shadow .18s ease}:root[data-theme=dark] .export-option-dot,:root[data-theme=funk] .export-option-dot{background:#ffffff38}.export-option.is-active .export-option-dot{background:var(--title);box-shadow:none}:root[data-theme=dark] .export-option.is-active .export-option-dot,:root[data-theme=funk] .export-option.is-active .export-option-dot{background:#fff;box-shadow:0 1px 4px #00000047}.export-option-text{display:flex;flex-direction:column;gap:calc(.1rem + 4px);min-width:0}.export-option-text strong{font-size:.85rem;font-weight:400;letter-spacing:-.01em}.export-option-text em{font-style:normal;font-size:.65rem;color:var(--muted)}.export-css-block{margin-top:.85rem;display:flex;flex-direction:column;gap:.65rem}.export-css-preview{margin:0;text-align:center;font-size:1.55rem;font-weight:300;letter-spacing:-.035em;line-height:1.2}.export-css-code{margin:0;max-height:11rem;overflow:auto;padding:.75rem .85rem;border-radius:14px;border:none;background:var(--sheet-fill);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.62rem;line-height:1.45;color:var(--title);white-space:pre-wrap;word-break:break-word;scrollbar-width:none}.export-css-code-done{width:100%;max-height:9rem;margin-bottom:.85rem;text-align:left}.export-palette-frame{position:relative;border-radius:14px;background:var(--sheet-fill)}.export-palette-frame .export-css-code{background:transparent;padding:.75rem .85rem 2.85rem;border-radius:inherit}.export-palette-frame .export-palette-json{position:absolute;right:.55rem;bottom:.5rem;z-index:1;width:auto;max-width:calc(100% - 1.1rem);white-space:nowrap}.export-progress{margin-top:.85rem;height:2px;background:var(--track);border-radius:999px;overflow:hidden}.export-progress-bar{height:100%;background:#2f2f2f;transition:width 80ms linear}.export-note{margin:.65rem 0 0;font-size:.65rem;color:var(--muted);line-height:1.35}.export-confirm{position:relative;isolation:isolate;margin-top:1.1rem;width:100%;border:none;border-radius:999px;padding:22px 42px 20px;background:transparent;color:var(--title);cursor:pointer;font-size:16px;line-height:16px;font-weight:400;z-index:0}.export-confirm:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;padding:2px;border-radius:inherit;background:var(--live-grad, var(--accent-grad-long));background-size:200% 100%;background-repeat:no-repeat;animation:gradient-shift 5s linear infinite;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:-1}.export-confirm:disabled{opacity:.55;cursor:wait}.export-secondary{border:none;background:none;color:var(--muted);font-size:.72rem;cursor:pointer;padding:.35rem}.export-secondary:hover{color:var(--title)}@media (max-width: 980px){:root{--page-pad-x: 34px;--page-pad-top: 34px;--page-pad-bottom: 34px}html,body,#root{height:100%;height:100dvh;min-height:100%;min-height:100dvh;overflow:hidden}.app,.app.is-funk{--visor-iso: 150px;--visor-lift: calc(16px + .65rem) ;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:auto;max-height:none;min-height:0;overflow:hidden;display:flex;flex-direction:column;grid-template-columns:none;grid-template-rows:none;padding:var(--page-pad-top) var(--page-pad-x) 0;gap:.65rem;row-gap:.65rem}.app.is-funk{overflow:visible}.top{display:grid;grid-template-columns:1fr 1fr;grid-column:auto;align-items:start;gap:.5rem;flex-shrink:0;column-gap:.5rem;position:relative;z-index:8;pointer-events:none;margin-top:calc(18px - var(--page-pad-top));margin-left:calc(18px - var(--page-pad-x));margin-right:calc(18px - var(--page-pad-x));width:calc(100% + (var(--page-pad-x) - 18px) * 2)}.brand{grid-column:1;justify-self:start;margin-inline-start:0;text-align:left;font-size:14px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;align-self:center;position:relative;z-index:8;pointer-events:auto}.theme-toggle{grid-column:2;justify-self:end;margin-inline-end:0;text-align:right;font-size:14px;white-space:nowrap;align-self:center;position:relative;z-index:8;pointer-events:auto}.top-tools{grid-column:2;justify-self:end;margin-inline-end:0;align-self:center;position:relative;z-index:8;pointer-events:auto;gap:.7rem}.help-toggle{font-size:14px;position:relative;z-index:8;pointer-events:auto}.top-iso{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);grid-column:auto;justify-self:auto;z-index:1;pointer-events:none;opacity:calc(1 - var(--visor-t, 0))}.top-iso .header-icon-btn{pointer-events:auto}.app.is-scrolled .top-iso{pointer-events:none}.workspace{display:flex;flex-direction:column;align-items:stretch;grid-column:auto;grid-template-columns:none;gap:0;min-height:0;flex:1;overflow:hidden;overscroll-behavior:contain;scroll-behavior:auto;overflow-anchor:none;position:relative;z-index:auto;margin-top:calc(var(--visor-lift, 26px) * -1);width:calc(100% + (var(--page-pad-x) * 2));margin-left:calc(-1 * var(--page-pad-x));padding-left:var(--page-pad-x);padding-right:var(--page-pad-x);box-sizing:border-box}body.is-slider-dragging,body.is-slider-dragging .workspace,body.is-slider-dragging .workspace-scroll{overflow:hidden!important;touch-action:none!important}.workspace-soft{display:block;flex:0 0 auto;min-height:0;width:100%;position:relative;overflow:visible;padding-top:var(--pin-pad, 0px)}.center-spacer{display:none}.workspace::-webkit-scrollbar{width:0;height:0;display:none}.flow{display:flex;flex-direction:column;align-items:stretch;width:100%;flex:1 1 auto;min-height:0;position:relative}.workspace-scroll{display:flex;flex-direction:column;align-items:stretch;flex:1 1 auto;min-height:0;width:100%;position:relative;z-index:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scroll-behavior:auto;scroll-padding-bottom:calc(18px + 2.75rem);scrollbar-width:none;overflow-anchor:none}.app.is-funk .workspace-scroll{clip-path:inset(var(--pin-cover, 0px) 0 0 0)}.workspace-scroll::-webkit-scrollbar{width:0;height:0;display:none}.center{display:contents}.visor-pin{display:flex;flex-direction:column;align-items:center;position:absolute;top:0;left:0;right:0;flex-shrink:0;margin-top:calc(var(--visor-lift, 26px) * (1 - var(--visor-t, 0)));z-index:7;width:100%;overflow:visible;background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none}.visor-pin button,.visor-pin a,.visor-pin input,.visor-pin textarea,.visor-pin .preview-frame.is-brush,.visor-pin .preview-frame.is-brush *,.visor-pin .preview-frame.is-finger,.visor-pin .preview-frame.is-finger *{pointer-events:auto}.visor-pin:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}.visor-pin>*{position:relative;z-index:1}.app.is-funk .visor-pin:before{content:none}.app.is-funk .visor-pin{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.app.is-funk .visor-pin:after{content:none}.app.is-funk .funk-compact-blur{display:block;position:fixed;z-index:5;pointer-events:none;left:0;width:100vw;top:-80px;height:min(72vh,580px);opacity:var(--visor-t, 0);background:transparent;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);-webkit-mask-image:radial-gradient(ellipse 92% 78% at 50% 22%,#000 0%,#000 28%,transparent 72%);mask-image:radial-gradient(ellipse 92% 78% at 50% 22%,#000 0%,#000 28%,transparent 72%)}.funk-bg-haze{display:none}body.is-exporting .visor-pin,body.is-gallery-open .visor-pin,body.is-exporting .funk-compact-blur,body.is-gallery-open .funk-compact-blur,body.is-exporting .funk-bg-haze,body.is-gallery-open .funk-bg-haze{visibility:hidden;pointer-events:none}.picker-wrap,.color-picker,.cp-format-menu{z-index:12}.color-picker,.cp-format-menu{background:var(--sheet-bg);backdrop-filter:blur(18px) saturate(1.08);-webkit-backdrop-filter:blur(18px) saturate(1.08)}.app.is-funk .color-picker,.app.is-funk .cp-format-menu{background:#0a0a0cb8}.workspace.is-scrolled .center{padding-bottom:.55rem;gap:.28rem}.center:after{display:none}.preview-frame[data-format="1:1"]{--fmt: 1}.preview-frame[data-format="4:5"]{--fmt: .8}.preview-frame[data-format="9:16"]{--fmt: .5625}.preview-frame[data-format="16:9"]{--fmt: 1.777778}body.is-visor-morph .preview-frame{container-type:size}body.is-visor-morph .preview-canvas:not(.is-spare){width:min(100cqw,calc(100cqh * var(--fmt, 1)))!important;height:min(100cqh,calc(100cqw / var(--fmt, 1)))!important;max-width:none!important;max-height:none!important}.preview-stage{--visor-iso: 150px;--visor-w-max: min(100%, 58vw, 328px, 42dvh);--visor-h-max: min(58vw, 328px, 42dvh);--visor-w-min: var(--visor-iso);--visor-h-min: var(--visor-iso);width:calc((1 - var(--visor-t, 0)) * var(--visor-w-max) + var(--visor-t, 0) * var(--visor-w-min));height:calc((1 - var(--visor-t, 0)) * var(--visor-h-max) + var(--visor-t, 0) * var(--visor-h-min));transition:none}.preview-stage[data-format="4:5"]{--visor-w-min: calc(var(--visor-iso) * 4 / 5);--visor-h-min: var(--visor-iso)}.preview-stage[data-format="9:16"]{--visor-w-min: calc(var(--visor-iso) * 9 / 16);--visor-h-min: var(--visor-iso)}.preview-stage[data-format="16:9"]{--visor-w-min: var(--visor-iso);--visor-h-min: calc(var(--visor-iso) * 9 / 16)}.preview-canvas{border-radius:calc(28px - 1px * var(--visor-t, 0));transition:none}.preview-art{border-radius:calc(36px - 9px * var(--visor-t, 0));transition:none}.preview-frame[data-format="1:1"] .preview-art,.preview-frame[data-format="1:1"] .preview-canvas{border-radius:calc(40px - 13px * var(--visor-t, 0))}.preview-frame:not([data-format="1:1"]) .preview-art,.preview-frame:not([data-format="1:1"]) .preview-canvas{border-radius:calc(20px - 4px * var(--visor-t, 0))}.preview-stage.is-format-morphing .preview-art,.preview-stage.is-format-morphing .preview-canvas{transition:border-radius .5s cubic-bezier(.22,1,.36,1)}.workspace.is-scrolled .preview-frame,.workspace.is-scrolled .preview-art,.workspace.is-scrolled .preview-canvas{max-width:100%;max-height:100%}.preview-tools,.tool-clear-float,.logo-place-bar,.preview-logo-box{opacity:calc(1 - var(--visor-t, 0))}.workspace.is-scrolled .preview-tools{pointer-events:none}.workspace.is-scrolled .tool-clear-float,.workspace.is-scrolled .logo-place-bar,.workspace.is-scrolled .preview-logo-box{pointer-events:none;visibility:hidden}.preview-shell{width:100%;flex:0 0 auto;display:flex;justify-content:center}.name-block{margin-top:0;margin-bottom:0;padding-top:calc(22px * (1 - var(--visor-t, 0)));padding-bottom:calc(13px * (1 - var(--visor-t, 0)));height:calc(var(--name-slot, 58px) * (1 - var(--visor-t, 0)));max-height:none;overflow:hidden;opacity:max(0,calc((.72 - var(--visor-t, 0)) / .72));transition:none}.workspace.is-scrolled .name-block{pointer-events:none}.name-label{display:none}.name-input{font-size:20px}.center-actions{margin-top:calc(10px - 6px * var(--visor-t, 0));top:0;gap:0;position:relative;z-index:7;flex-shrink:0;transition:none}.center-actions>.randomize-btn{margin-top:calc(.65rem + 3px);margin-bottom:12px}.visor-pin .utility-slot--mobile{display:block;width:100%;flex:0 0 auto;margin-top:calc(.5rem + 6px - .22rem * var(--visor-t, 0));padding-bottom:calc(.2rem + 6px - .05rem * var(--visor-t, 0))}.visor-pin .utility-slot--mobile .utility-row{margin-top:0}.utility-slot--desk{display:none}.export-btn,.export-confirm{margin-top:6px;padding:20px 14px 18px;min-width:144px;font-size:14px;line-height:14px}.export-confirm{width:100%;min-width:0;margin-top:1.1rem}.randomize-label{font-size:14px}.params{display:flex;flex-direction:column;align-items:stretch;gap:1.5rem;width:100%;position:relative;z-index:0;padding:6px 0 88px}.rail{display:block;width:100%;max-width:none;position:relative;z-index:0;overflow:visible;padding:0!important;min-height:0;height:auto;max-height:none;grid-column:auto;grid-row:auto;justify-self:stretch}.rail-left,.rail-right{display:block;max-width:none;min-width:0;width:100%;height:auto;max-height:none;overflow:visible;padding-top:0!important}.rail-spacer{display:none;height:0!important}.rail-inner{display:flex;flex-direction:column;gap:1.35rem}.rail-left .control:nth-child(1),.rail-left .control:nth-child(2){grid-column:auto}.rail-right .reset-link{margin-top:.25rem}.gradients-gallery{width:min(100%,520px)}.gradients-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 6px;max-height:min(58dvh,520px)}}@media (min-width: 641px) and (max-width: 980px){.rail-left .rail-inner,.rail-right .rail-inner{display:grid;grid-template-columns:1fr 1fr;gap:1.35rem 1.25rem;align-items:start}.rail-left .rail-inner>:nth-child(1),.rail-left .rail-inner>:nth-child(2){grid-column:1 / -1}.rail-right .rail-inner>:nth-child(1){grid-column:1 / -1}.rail-right .reset-link{grid-column:1 / -1}}@media (max-width: 640px){:root{--page-pad-x: 34px;--page-pad-top: 34px;--page-pad-bottom: 34px}.app{padding:var(--page-pad-top) var(--page-pad-x) 0}.brand,.theme-toggle{font-size:14px}.header-icon{width:24px;height:24px;border-radius:7px}.preview-stage{--visor-w-max: min(100%, 72vw, 288px, 40dvh);--visor-h-max: min(72vw, 288px, 40dvh)}.gradients-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 6px}.workspace-soft::-webkit-scrollbar{width:0;height:0;display:none}}:root[data-theme=dark] .cp-hex,:root[data-theme=dark] .cp-format,:root[data-theme=funk] .cp-hex,:root[data-theme=funk] .cp-format{background:var(--surface)}:root[data-theme=dark] .share-chip,:root[data-theme=dark] .export-option,:root[data-theme=funk] .share-chip,:root[data-theme=funk] .export-option{background:var(--sheet-fill)}:root[data-theme=dark] .share-chip:hover,:root[data-theme=funk] .share-chip:hover{background:var(--soft)}:root[data-theme=dark] .color-picker,:root[data-theme=dark] .cp-format-menu{background:var(--soft);box-shadow:none}:root[data-theme=funk] .color-picker,:root[data-theme=funk] .cp-format-menu{background:var(--live-grad, var(--accent-grad-long));background-size:200% auto;box-shadow:none}:root[data-theme=dark] .export-modal,:root[data-theme=funk] .export-modal{background:var(--sheet-bg);box-shadow:var(--sheet-shadow)}:root[data-theme=dark] .tool-btn{background:#0000006b}:root[data-theme=dark] .tool-btn:hover,:root[data-theme=dark] .tool-btn.is-active{background:#ffffff29}.preview-tools .tool-btn,.preview-tools .tool-btn:hover,.preview-tools .tool-btn:active,.preview-tools .tool-btn.is-active,:root[data-theme=dark] .preview-tools .tool-btn,:root[data-theme=dark] .preview-tools .tool-btn:hover,:root[data-theme=dark] .preview-tools .tool-btn.is-active,:root[data-theme=funk] .preview-tools .tool-btn,:root[data-theme=funk] .preview-tools .tool-btn:hover,:root[data-theme=funk] .preview-tools .tool-btn:active,:root[data-theme=funk] .preview-tools .tool-btn.is-active{background:var(--tool-fill, #494949);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:transform .12s ease}.preview-tools .tool-btn.is-active,:root[data-theme=funk] .preview-tools .tool-btn.is-active{box-shadow:inset 0 0 0 1.5px var(--tool-ink, #fff)}:root[data-theme=funk] .preview-tools .tool-btn:before{content:none}.preview-tools .tool-btn .icon-asset,.preview-tools .tool-btn:hover .icon-asset,.preview-tools .tool-btn:active .icon-asset,.preview-tools .tool-btn.is-active .icon-asset,:root[data-theme=funk] .preview-tools .tool-btn .icon-asset,:root[data-theme=funk] .preview-tools .tool-btn:hover .icon-asset,:root[data-theme=funk] .preview-tools .tool-btn.is-active .icon-asset{background-color:var(--tool-ink, #fff);mix-blend-mode:normal;opacity:1}.preview-tools .tool-btn .icon-pause,.preview-tools .tool-btn:hover .icon-pause,.preview-tools .tool-btn:active .icon-pause,.preview-tools .tool-btn.is-active .icon-pause,:root[data-theme=funk] .preview-tools .tool-btn .icon-pause,:root[data-theme=funk] .preview-tools .tool-btn:hover .icon-pause,:root[data-theme=funk] .preview-tools .tool-btn.is-active .icon-pause{border-left-color:var(--tool-ink, #fff);border-right-color:var(--tool-ink, #fff);mix-blend-mode:normal}html.is-ios-funk .preview-tools .tool-btn .icon-asset,html.is-ios-funk .preview-tools .tool-btn .icon-pause{visibility:visible}html.is-ios-funk .preview-tools .funk-plate{display:none}:root[data-theme=funk] .preview-tools,:root[data-theme=funk] .logo-place-bar{left:0;right:0;width:auto;transform:none;z-index:auto;opacity:1;filter:none;background:transparent}:root[data-theme=funk] .tool-btn,:root[data-theme=funk] .tool-btn:hover,:root[data-theme=funk] .tool-btn.is-active,:root[data-theme=funk] .tool-btn:active,:root[data-theme=funk] .tool-clear-float,:root[data-theme=funk] .tool-clear-float:hover,:root[data-theme=funk] .tool-clear-float:active,:root[data-theme=funk] .logo-place-bar .tool-clear-float.is-armed{z-index:auto;transform:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;opacity:1;filter:none}:root[data-theme=funk] .tool-btn:before,:root[data-theme=funk] .tool-clear-float:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#fff;mix-blend-mode:difference;pointer-events:none}:root[data-theme=funk] .preview-canvas{will-change:auto}:root[data-theme=funk] .center{isolation:auto}:root[data-theme=funk] .tool-btn .icon-asset,:root[data-theme=funk] .tool-btn:hover .icon-asset,:root[data-theme=funk] .tool-btn.is-active .icon-asset,:root[data-theme=funk] .tool-clear-float .icon-asset,:root[data-theme=funk] .tool-clear-float:hover .icon-asset{position:relative;background-color:#fff;mix-blend-mode:difference}:root[data-theme=funk] .tool-btn .icon-pause,:root[data-theme=funk] .tool-btn:hover .icon-pause,:root[data-theme=funk] .tool-btn.is-active .icon-pause{border-left-color:#fff;border-right-color:#fff;mix-blend-mode:difference}html.is-ios-funk .tool-btn:before,html.is-ios-funk .tool-clear-float:before{content:none}html.is-ios-funk .tool-btn .icon-asset,html.is-ios-funk .tool-btn .icon-pause,html.is-ios-funk .tool-clear-float .icon-asset{visibility:hidden}.funk-plate{display:none}html.is-ios-funk .funk-plate{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:inherit;pointer-events:none}:root[data-theme=funk] .tool-btn .icon-brush,:root[data-theme=funk] .tool-btn .icon-finger{opacity:.38}:root[data-theme=funk] .tool-btn.is-active .icon-brush,:root[data-theme=funk] .tool-btn.is-active .icon-finger{opacity:1}:root[data-theme=dark] .pill-track,:root[data-theme=funk] .pill-track{background:var(--soft)}:root[data-theme=dark] .from-image-btn,:root[data-theme=funk] .from-image-btn{background:var(--soft)}:root[data-theme=dark] .move-highlight,:root[data-theme=funk] .move-highlight{background:color-mix(in srgb,var(--ink) 14%,transparent)}:root[data-theme=dark] .move-cell.is-active,:root[data-theme=funk] .move-cell.is-active{background:transparent}button:focus,a:focus,input:focus,[role=radio]:focus,[role=button]:focus{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,[role=radio]:focus-visible,[role=button]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.format-btn:focus-visible,.swatch:focus-visible,.swatch-add:focus-visible,.swatch-delete:focus-visible,.lock-btn:focus-visible,.from-image-btn:focus-visible,.chip:focus-visible,.text-action:focus-visible,.pill-label:focus-visible,.tool-btn:focus-visible,.tool-clear-float:focus-visible,.export-btn:focus-visible,.randomize-btn:focus-visible,.reset-btn:focus-visible,.reset-link:focus-visible,.move-cell:focus-visible,.export-option:focus-visible,.export-confirm:focus-visible,.export-secondary:focus-visible,.share-chip:focus-visible,.saved-item:focus-visible,.saved-slot:focus-visible,.saved-delete:focus-visible,.gradients-gallery-trash:focus-visible,.gradients-gallery-select-all:focus-visible,.utility-icon-btn:focus-visible,.utility-text-btn:focus-visible,.gradients-dock-head:focus-visible,.gradients-gallery-pick:focus-visible,.gradients-gallery-open-hit:focus-visible,.gradients-gallery-close:focus-visible,.gradients-gallery-check:focus-visible,.gradients-gallery-link:focus-visible,.gradients-viewer-nav:focus-visible,.theme-toggle:focus-visible,.sound-toggle:focus-visible,.header-icon-btn:focus-visible,.modal-close:focus-visible,.cp-format:focus-visible,.cp-hex:focus-visible,.cp-hue:focus-visible,.cp-sv:focus-visible,.position-pad:focus-visible,.color-name-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.swatch:focus-visible{outline-offset:5px;border-radius:50%}@media (pointer: coarse){.pill-label:focus,.pill-label:focus-visible,.chip:focus,.chip:focus-visible,.format-btn:focus,.format-btn:focus-visible,.move-cell:focus,.move-cell:focus-visible,[role=radio]:focus,[role=radio]:focus-visible{outline:none;box-shadow:none}}@media (hover: hover) and (pointer: fine){.format-btn:hover .format-label{color:var(--ink)}.format-btn:hover .format-frame{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 18%,transparent)}.swatch:hover{filter:brightness(1.04)}.pill-label:hover{color:var(--ink)}.move-cell:hover:not(.is-active){background:color-mix(in srgb,var(--ink) 6%,transparent)}.export-option:hover:not(.is-active){background:var(--soft)}.export-confirm:hover:not(:disabled){filter:brightness(1.03)}}.format-btn:active .format-frame,.pill-label:active,.move-cell:active,.chip:active,.tool-btn:active,.tool-clear-float:active,.export-btn:active,.randomize-btn:active,.reset-btn:active,.export-confirm:active:not(:disabled),.export-secondary:active,.gradients-gallery-pick:active,.export-option:active,.from-image-btn:active,.share-chip:active,.lock-btn:active{transform:scale(.97)}.export-btn,.randomize-btn,.tool-btn,.chip,.pill-label,.format-btn,.move-cell,.from-image-btn,.share-chip,.reset-btn,.export-option,.export-confirm,.export-secondary{transition:transform .12s ease,background-color .15s ease,color .15s ease,border-color .15s ease,filter .15s ease,opacity .15s ease}.swatch{transition:filter .12s ease}button:disabled,.tool-btn:disabled,.export-btn:disabled,.export-confirm:disabled,.from-image-btn:disabled,.swatch-add:disabled,.swatch-delete:disabled{cursor:not-allowed;opacity:.42}@media (hover: none) and (pointer: coarse){.movement-pad{--move-pad: calc(.55rem * 2 + .15rem * 2 + 40px * 3)}.move-cell{min-width:0;min-height:0}.format-btn{padding-block:6px}.tool-btn{min-width:44px;min-height:44px}}@media (max-width: 980px){.swatch-row{flex-wrap:wrap;gap:8px}}@media (max-width: 980px) and (hover: none) and (pointer: coarse){.swatch{width:26px;height:26px}.swatch-row{gap:.5rem}}.gradients-dock{position:fixed;z-index:22;left:var(--page-pad-x);bottom:var(--page-pad-bottom);display:flex;flex-direction:column;align-items:flex-start;pointer-events:auto;overflow:visible}.gradients-dock-head{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.4rem;border:none;background:transparent;padding:0;margin:0;color:var(--muted);font:inherit;font-size:12px;font-weight:400;letter-spacing:-.01em;cursor:pointer;line-height:14px;height:14px}.chrome-blur{position:absolute;z-index:0;border:none;border-radius:0;background:transparent;background-color:transparent;pointer-events:none;transform:translateZ(0);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);-webkit-mask-image:radial-gradient(closest-side,#000 30%,transparent 84%);mask-image:radial-gradient(closest-side,#000 30%,transparent 84%)}.chrome-blur--gradients{top:-.85rem;bottom:-.85rem;left:-.7rem;right:-.55rem;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);-webkit-mask-image:radial-gradient(ellipse 125% 120% at 42% 50%,#000 0%,rgba(0,0,0,.5) 34%,transparent 62%);mask-image:radial-gradient(ellipse 125% 120% at 42% 50%,#000 0%,rgba(0,0,0,.5) 34%,transparent 62%)}.chrome-blur--sound{top:-1.65rem;bottom:-1.65rem;left:-1.7rem;right:-1.1rem;-webkit-mask-image:radial-gradient(closest-side at 55% 50%,#000 32%,transparent 84%);mask-image:radial-gradient(closest-side at 55% 50%,#000 32%,transparent 84%)}.chrome-blur--bar{top:-1.25rem;bottom:-1.25rem;left:-.85rem;right:-.85rem;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 32%,#000 68%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 32%,#000 68%,transparent 100%)}:root[data-theme=funk] .chrome-blur{backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px)}:root[data-theme=funk] .chrome-blur--gradients{top:-.9rem;bottom:-.9rem;left:-.75rem;right:-.6rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}:root[data-theme=funk] .chrome-blur--sound{top:-1.85rem;bottom:-1.85rem;left:-1.9rem;right:-1.15rem}:root[data-theme=funk] .chrome-blur--bar{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@media (min-width: 981px){.chrome-blur,.chrome-blur--gradients,.chrome-blur--sound,.chrome-blur--bar,.gradients-dock>.chrome-blur,.sound-toggle-wrap>.chrome-blur,.site-side-nav>.chrome-blur,.chrome-bar .chrome-blur,:root[data-theme=funk] .chrome-blur,:root[data-theme=funk] .chrome-blur--gradients,:root[data-theme=funk] .chrome-blur--sound,:root[data-theme=funk] .chrome-blur--bar{display:none;visibility:hidden;opacity:0;backdrop-filter:none;-webkit-backdrop-filter:none}}.gradients-dock-head:hover{color:var(--title)}.gradients-dock-head svg{display:block;flex-shrink:0;width:14px;height:14px}.gradients-dock-head>span{display:block;line-height:14px;transform:translateY(2px)}.gradients-gallery-backdrop{z-index:80}.gradients-gallery{position:relative;z-index:1;width:min(100%,560px);max-height:min(88dvh,760px);overflow:auto;margin:auto;padding:var(--sheet-pad);border-radius:var(--sheet-radius);background:var(--sheet-bg);border:none;box-shadow:var(--sheet-shadow);animation:sheet-in var(--pop-in) var(--pop-ease) both}.onboard{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;pointer-events:none;transition:opacity .28s ease}.onboard.is-leave{opacity:0}.onboard-veil{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:#08080a29;animation:onboard-veil-in .4s ease both}:root:not([data-theme=dark]):not([data-theme=funk]) .onboard-veil{background:#fbfbfb38}.onboard-card,.onboard-inline{--sheet-bg: #121212;--title: #f2f2f2;--muted: #8f8f8f;--ink: #f2f2f2;--soft: #242424;--track: #2a2a2a;--focus-ring: #f2f2f2}:root[data-theme=dark] .onboard-card,:root[data-theme=dark] .onboard-inline,:root[data-theme=funk] .onboard-card,:root[data-theme=funk] .onboard-inline{--sheet-bg: #fbfbfb;--title: #494949;--muted: #9b9b9b;--ink: #494949;--soft: #efefef;--track: #ececec;--focus-ring: #494949}.onboard-card .pill-track,.onboard-inline .pill-track{background:var(--soft)}.onboard-card .move-cell.is-active,.onboard-inline .move-cell.is-active{background:transparent}.onboard-card{position:fixed;left:0;top:0;z-index:92;pointer-events:auto;width:416px;padding:var(--sheet-pad);background:var(--sheet-bg);border-radius:var(--sheet-radius);color:var(--title);text-align:left;opacity:0;will-change:transform;transition:transform .52s var(--pop-ease),opacity .36s var(--pop-ease)}.onboard-card.is-extra{width:356px;height:356px;min-width:356px;max-width:356px;min-height:356px;max-height:356px;aspect-ratio:1 / 1;overflow:hidden;border-radius:calc(var(--sheet-radius) + 16px);text-align:center;padding:var(--sheet-pad)}.onboard-card.is-ready{opacity:1}.onboard-card.is-snap{transition:none}.onboard-card.is-ready.is-snap{opacity:1}.onboard-card.is-leave,.onboard.is-leave .onboard-card{opacity:0;transition:opacity .26s ease}.onboard-copy{display:flex;flex-direction:column;align-items:stretch;text-align:left;animation:onboard-copy-in .3s var(--pop-ease) both}.onboard-card.is-extra .onboard-copy,.onboard-inline.is-extra .onboard-copy{align-items:center;justify-content:center;height:100%;text-align:center}@keyframes onboard-veil-in{0%{opacity:0}to{opacity:1}}@keyframes onboard-copy-in{0%{opacity:0}to{opacity:1}}@keyframes onboard-inline-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.onboard-skip{position:absolute;top:var(--page-pad-top);right:var(--page-pad-x);z-index:3;width:22px;height:22px;border:none;border-radius:50%;background:var(--track);color:var(--muted);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center}.onboard-skip:hover{color:var(--title);background:var(--track)}.onboard-skip svg{display:block}.onboard-count{margin:0 0 .4rem;font-size:12px;letter-spacing:-.01em;line-height:1;color:var(--muted)}.onboard-count:has(.onboard-count-mutate){padding-left:14px}.onboard-card.is-extra .onboard-count:has(.onboard-count-mutate),.onboard-inline.is-extra .onboard-count:has(.onboard-count-mutate){padding-left:0}.onboard-card.is-extra .onboard-count,.onboard-inline.is-extra .onboard-count{margin:0 0 16px}.onboard-count-mutate{display:inline-flex;align-items:center;justify-content:flex-start;padding:0;color:inherit}.onboard-card.is-extra .onboard-count-mutate,.onboard-inline.is-extra .onboard-count-mutate{justify-content:center}.onboard-card.is-extra .onboard-title,.onboard-inline.is-extra .onboard-title{padding-right:0;font-size:12px;line-height:1.35;color:var(--muted);white-space:pre-line}.onboard-count-mutate .randomize-label{font-size:12px}.onboard-card.is-extra .onboard-count-mutate .randomize-label,.onboard-inline.is-extra .onboard-count-mutate .randomize-label{font-size:14px}.onboard-title{margin:0 0 .45rem;padding-right:28px;font-size:16px;font-weight:300;letter-spacing:-.03em;line-height:1.25;color:var(--title)}.onboard-kicker{margin:0 0 .25rem;font-size:12px;letter-spacing:-.01em;line-height:1.2;color:var(--title)}.onboard-line{margin:0 0 .9rem;font-size:14px;font-weight:300;letter-spacing:-.01em;line-height:1.35;color:var(--muted)}.onboard-next{align-self:flex-start;margin-top:24px;border:none;background:none;padding:0;font-size:14px;letter-spacing:-.01em;color:var(--title);cursor:pointer}.onboard-next:hover{color:var(--title)}.onboard-card.is-extra .onboard-next,.onboard-inline.is-extra .onboard-next{align-self:center;margin-top:0}.onboard-start .randomize-label{font-size:14px}.onboard-start:hover .randomize-label{animation-duration:2.2s}.onboard-extra-go{position:relative;align-self:flex-start;display:inline-flex;align-items:center;gap:.22rem;margin-top:calc(.15rem + 24px);padding:0;border:none;background:none;cursor:pointer}.onboard-extra-go .randomize-sparks{position:static;top:auto;right:auto;left:auto;margin:0;transform:none}.onboard-extra-go:hover .randomize-label{animation-duration:2.2s}.onboard-demo{position:relative;margin:.15rem 0 .8rem;pointer-events:none}.onboard-demo .swatch,.onboard-demo .lock-btn,.onboard-demo .format-btn,.onboard-demo .chip,.onboard-demo .move-cell,.onboard-demo .randomize-btn{cursor:default}.onboard-demo-caption{position:relative;margin:.35rem 0 0;height:1.2em;font-size:12px;letter-spacing:-.01em;line-height:1.2;color:var(--muted)}.onboard-demo-caption span{position:absolute;left:0;top:0;opacity:0}.onboard-demo--palette.is-reordering .onboard-swatch-b{animation:onboard-swatch-drag 4s ease-in-out infinite}.onboard-demo--palette.is-reordering .onboard-swatch-c{animation:onboard-swatch-shift 4s ease-in-out infinite}.onboard-demo--palette .onboard-demo-caption span:nth-child(1){animation:onboard-caption-1 8s linear infinite}.onboard-demo--palette .onboard-demo-caption span:nth-child(2){animation:onboard-caption-2 8s linear infinite}.onboard-demo--palette .onboard-demo-caption span:nth-child(3){animation:onboard-caption-3 8s linear infinite}@keyframes onboard-swatch-drag{0%,12%{transform:translateZ(0);z-index:1}22%{transform:translate3d(0,-6px,0);z-index:1}48%{transform:translate3d(28px,-6px,0);z-index:1}62%,82%{transform:translate3d(28px,0,0);z-index:0}to{transform:translateZ(0);z-index:0}}@keyframes onboard-swatch-shift{0%,22%{transform:translateZ(0)}48%,82%{transform:translate3d(-28px,0,0)}to{transform:translateZ(0)}}@keyframes onboard-caption-1{0%,38%{opacity:1}42%,to{opacity:0}}@keyframes onboard-caption-2{0%,42%{opacity:0}46%,58%{opacity:1}62%,to{opacity:0}}@keyframes onboard-caption-3{0%,62%{opacity:0}66%,88%{opacity:1}94%,to{opacity:0}}.onboard-demo--tune .movement-pad{margin:0}.onboard-demo--shape .pill-thumb{left:calc(var(--pill-h) / 2);animation:onboard-shape-thumb 5.6s var(--pop-ease) infinite}@keyframes onboard-shape-thumb{0%,10%{left:calc(var(--pill-h) / 2)}45%,55%{left:calc(100% - var(--pill-h) / 2)}to{left:calc(var(--pill-h) / 2)}}.onboard-demo--mutate{width:100%;max-width:100%;min-width:0}.onboard-card.is-extra .onboard-demo--mutate,.onboard-inline.is-extra .onboard-demo--mutate{width:calc(100% + (var(--page-pad-x) * 2));max-width:none;margin-left:calc(var(--page-pad-x) * -1);margin-right:calc(var(--page-pad-x) * -1)}.onboard-extra-stage{width:100%;max-width:100%;min-width:0;overflow:hidden}.onboard-extra-track{display:flex;width:300%;animation:onboard-extra-scroll 7.6s linear infinite}.onboard-extra-slide{flex:0 0 calc(100% / 3);display:flex;align-items:center;justify-content:center;min-height:148px}.onboard-extra-mutate{transform-origin:center;animation:onboard-mutate-click 7.6s ease-in-out infinite}.onboard-extra-mutate .randomize-label{font-size:32px}.onboard-extra-mutate .mood-spark{font-size:16px}@keyframes onboard-mutate-click{0%,10%{transform:scale(1)}14%{transform:scale(.86)}18%,to{transform:scale(1)}}@keyframes onboard-extra-scroll{0%,22%{transform:translate(0)}40%,68%{transform:translate(calc(-100% / 3))}86%,to{transform:translate(calc(-200% / 3))}}.onboard-demo-visor{width:112px;height:112px}.onboard-demo-visor.preview-frame[data-format="1:1"] .preview-art,.onboard-demo-visor.preview-frame[data-format="1:1"] .preview-canvas{border-radius:36px}.onboard-demo-visor .preview-art{width:100%;height:100%}.onboard-demo-visor .preview-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;transition:opacity 1s var(--pop-ease)}.onboard-demo-visor .preview-canvas.is-on{opacity:1}.onboard-demo--mutate .randomize-btn{pointer-events:none}.onboard-slot{display:none}.onboard-inline{width:100%;padding:var(--sheet-pad);background:var(--sheet-bg);border-radius:var(--sheet-radius);color:var(--title);text-align:left;animation:onboard-inline-in .86s var(--pop-ease) both}.onboard-inline.is-extra{aspect-ratio:1 / 1;border-radius:calc(var(--sheet-radius) + 16px);text-align:center;padding:var(--sheet-pad)}.onboard-inline.is-leave{animation:none;opacity:0;transform:translateY(-6px);transition:opacity .28s ease,transform .28s var(--pop-ease)}@media (max-width: 980px){.onboard-slot{display:block;width:100%;margin:.15rem 0 .35rem}.onboard-slot:empty{display:none;margin:0}.visor-pin>.onboard-slot[data-onboard-slot=mutate]{position:absolute;top:calc(100% + 12px);left:0;right:0;z-index:2;width:auto;margin:0;pointer-events:auto}.onboard-inline .onboard-line{margin-bottom:0}.onboard-inline:has(.onboard-next) .onboard-line{margin-bottom:.85rem}}@media (min-width: 981px){.onboard-slot{display:none}}.onboard-inline .onboard-copy{animation:none}@media (prefers-reduced-motion: reduce){.onboard,.onboard-card,.onboard-copy,.onboard-inline,.onboard-veil,.onboard-demo--shape .pill-thumb,.onboard-demo--palette .onboard-swatch-b,.onboard-demo--palette .onboard-swatch-c,.onboard-demo-caption span,.onboard-demo-visor .preview-canvas,.onboard-extra-track,.onboard-extra-mutate,.onboard-extra-go .randomize-label,.onboard-start .randomize-label{animation:none!important;transition:none!important}.onboard-extra-track{width:100%;flex-direction:column;gap:.85rem}.onboard-extra-slide{flex:none;width:100%}.onboard-extra-slide:nth-child(3){display:none}.onboard-card.is-ready{opacity:1}.onboard-inline{opacity:1;transform:none}.onboard-demo-caption span:first-child,.onboard-demo-visor .preview-canvas.is-on{opacity:1}}.gradients-gallery-tools{position:absolute;top:var(--page-pad-top);right:var(--page-pad-x);z-index:3;display:flex;align-items:center;gap:8px}.gradients-gallery-tools .modal-close{position:static}.gradients-gallery-trash-group{display:flex;align-items:center;gap:12px}.gradients-gallery-select-all{border:none;background:none;margin:0;padding:0;font:inherit;font-size:14px;font-weight:300;letter-spacing:-.02em;line-height:1;color:var(--muted);cursor:pointer;white-space:nowrap}.gradients-gallery-select-all:hover{color:var(--title)}.gradients-gallery.is-multi .gradients-gallery-eyebrow{padding-right:11rem}.gradients-gallery-eyebrow{margin:0 0 .15rem;padding-right:4.25rem;min-height:22px;display:flex;align-items:center;font-size:14px;letter-spacing:-.01em;line-height:1;color:var(--muted)}.gradients-gallery-heading{display:flex;align-items:center;gap:.45rem;margin:0 0 1.05rem;padding-right:2rem}.gradients-gallery-title{margin:0 0 1.05rem;padding-right:4.25rem;font-size:20px;font-weight:300;letter-spacing:-.03em;color:var(--title);line-height:1.2}.gradients-gallery-heading .gradients-gallery-title{margin:0;padding-right:0}.gradients-gallery-trash{width:22px;height:22px;border:none;border-radius:50%;background:var(--track);color:var(--muted);cursor:pointer;padding:0;margin:0;display:grid;place-items:center;line-height:0;flex-shrink:0}.gradients-gallery-trash:hover:not(:disabled){color:var(--title)}.gradients-gallery-trash:disabled{opacity:.4;cursor:not-allowed}.gradients-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:6px;margin-bottom:.15rem;max-height:min(56dvh,480px);overflow:auto}@media (max-width: 980px){.gradients-gallery{width:min(100%,520px)}.gradients-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 6px;max-height:min(58dvh,520px)}}.gradients-gallery-variants,.gradients-viewer-formats{display:flex;align-items:flex-end;gap:8px}.gradients-viewer-formats{justify-content:center;margin:0 0 1.1rem}.gradients-gallery-variants .gradients-gallery-open-hit,.gradients-viewer-formats .gradients-gallery-open-hit{width:auto;flex:0 0 auto}.gradients-gallery-variants .gradients-gallery-thumb,.gradients-viewer-formats .gradients-gallery-thumb{width:auto;aspect-ratio:auto}.gradients-gallery-variants .gradients-gallery-thumb[data-format="1:1"],.gradients-viewer-formats .gradients-gallery-thumb[data-format="1:1"]{width:64px;height:64px}.gradients-gallery-variants .gradients-gallery-thumb[data-format="4:5"],.gradients-viewer-formats .gradients-gallery-thumb[data-format="4:5"]{width:52px;height:64px}.gradients-gallery-variants .gradients-gallery-thumb[data-format="9:16"],.gradients-viewer-formats .gradients-gallery-thumb[data-format="9:16"]{width:36px;height:64px}.gradients-gallery-variants .gradients-gallery-thumb[data-format="16:9"],.gradients-viewer-formats .gradients-gallery-thumb[data-format="16:9"]{width:114px;height:64px}.gradients-viewer-formats .gradients-gallery-open-hit.is-on .gradients-gallery-thumb{outline:2px solid var(--title);outline-offset:2px}.gradients-gallery-pick{position:relative;display:flex;flex-direction:column;gap:.3rem;border:none;border-radius:0;padding:0;background:transparent;text-align:left;font:inherit;color:var(--muted)}.gradients-gallery-open-hit{display:block;border:none;background:transparent;padding:0;margin:0;width:100%;height:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}.gradients-gallery-thumb{position:relative;display:block;width:100%;aspect-ratio:1;box-sizing:border-box;border-radius:12px;background:color-mix(in srgb,var(--ink) 8%,var(--sheet-bg));overflow:hidden}.gradients-gallery-thumb[data-format="4:5"]{aspect-ratio:4 / 5}.gradients-gallery-thumb[data-format="9:16"]{aspect-ratio:9 / 16}.gradients-gallery-thumb[data-format="16:9"]{aspect-ratio:16 / 9}.gradients-gallery-thumb-frame{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:transparent;border-radius:inherit}.gradients-gallery-thumb-frame .gradients-gallery-open-hit,.gradients-gallery-thumb img{display:block;width:100%;height:100%;border-radius:inherit}.gradients-gallery-thumb img{object-fit:cover;object-position:center}.gradients-gallery .gradients-gallery-thumb,.gradients-viewer .gradients-gallery-thumb,.gradients-gallery .gradients-gallery-thumb[data-format="1:1"] .gradients-gallery-thumb-frame,.gradients-viewer .gradients-gallery-thumb[data-format="1:1"] .gradients-gallery-thumb-frame{border-radius:12px}@media (min-width: 981px){.export-modal,.gradients-gallery,.gradients-viewer{width:min(100%,560px)}}.gradients-gallery-variants .gradients-gallery-thumb-frame,.gradients-viewer-formats .gradients-gallery-thumb-frame{position:relative;inset:auto;transform:none;width:100%;height:100%;border-radius:inherit}.gradients-gallery-variants .gradients-gallery-thumb img,.gradients-viewer-formats .gradients-gallery-thumb img{width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;object-fit:cover;border-radius:inherit}.gradients-gallery-pick-name{border:none;background:transparent;padding:0 .05rem;margin:0;font:inherit;font-size:12px;line-height:1.25;color:inherit;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.gradients-gallery-check{position:absolute;top:.4rem;right:.4rem;z-index:2;width:1.05rem;height:1.05rem;padding:0;margin:0;border-radius:999px;display:block;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#ffffff38;border:none;transition:background .18s ease}:root:not([data-theme=dark]):not([data-theme=funk]) .gradients-gallery-check{background:#0000001a}.gradients-gallery-pick.is-selected{color:var(--title)}.gradients-gallery-pick.is-selected .gradients-gallery-check,.gradients-gallery-check.is-on{background:#fff;box-shadow:0 1px 4px #00000047}.gradients-gallery-detail{margin-top:1.15rem;padding-top:.35rem;border:none;border-top:none;box-shadow:none;display:flex;flex-direction:column;align-items:center;gap:.55rem}.gradients-gallery-detail-bar{align-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:22px}.gradients-gallery-detail-name{margin:0;min-width:0;flex:1;font-size:14px;font-weight:300;letter-spacing:-.02em;color:var(--title);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gradients-gallery-detail .export-btn{margin-top:.15rem}.gradients-gallery-link{border:none;background:none;padding:.2rem .15rem;margin:0;font:inherit;font-size:12px;color:var(--muted);cursor:pointer;letter-spacing:-.01em}.gradients-gallery-link:hover:not(:disabled){color:var(--title)}.gradients-gallery-link.is-danger:hover:not(:disabled){color:#c44}.gradients-gallery-link:disabled{opacity:.4;cursor:not-allowed}.gradients-viewer{position:relative;z-index:1;width:min(100%,560px);max-height:min(92dvh,780px);overflow:auto;margin:auto;padding:var(--sheet-pad);border-radius:var(--sheet-radius);background:var(--sheet-bg);border:none;box-shadow:var(--sheet-shadow);animation:sheet-in var(--pop-in) var(--pop-ease) both;display:flex;flex-direction:column;align-items:stretch}.gradients-viewer .gradients-gallery-title{margin-bottom:1.15rem}.gradients-viewer-stage{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.35rem;margin-bottom:1.25rem}.gradients-viewer-frame{position:relative;justify-self:center;display:block;width:100%;height:auto;aspect-ratio:1;border-radius:18px;background:transparent;overflow:hidden}.gradients-viewer-frame[data-format="4:5"]{width:auto;height:min(58dvh,540px);max-width:100%;aspect-ratio:4 / 5}.gradients-viewer-frame[data-format="9:16"]{width:auto;height:min(58dvh,540px);max-width:100%;aspect-ratio:9 / 16}.gradients-viewer-frame[data-format="16:9"]{width:100%;height:auto;aspect-ratio:16 / 9}.gradients-viewer-frame img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;border-radius:inherit}.gradients-viewer-nav{width:2rem;height:2rem;border:none;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;padding:0}.gradients-viewer-nav:hover:not(:disabled){color:var(--title)}.gradients-viewer-nav:disabled{opacity:.25;cursor:default}.gradients-viewer-actions{display:flex;flex-direction:column;align-items:center;gap:.65rem}@media (max-width: 980px){.gradients-viewer-actions{gap:0}.gradients-viewer-actions>.randomize-btn{margin-top:calc(.65rem + 3px)}}:root[data-theme=dark] .gradients-viewer-frame,:root[data-theme=funk] .gradients-viewer-frame{background:#ffffff0f}:root[data-theme=funk] .gradients-dock-head,:root[data-theme=funk] .utility-icon-btn,:root[data-theme=funk] .utility-text-btn{color:#ffffffb8}:root[data-theme=funk] .gradients-dock-head:hover,:root[data-theme=funk] .utility-icon-btn:hover,:root[data-theme=funk] .utility-text-btn:hover{color:#fff}:root[data-theme=funk] .utility-icon-btn.is-filling{color:#ffffffb8}:root[data-theme=dark] .gradients-gallery,:root[data-theme=dark] .gradients-viewer,:root[data-theme=dark] .export-modal,:root[data-theme=funk] .gradients-gallery,:root[data-theme=funk] .gradients-viewer,:root[data-theme=funk] .export-modal{background:var(--sheet-bg);border:none}:root[data-theme=dark] .gradients-gallery-thumb,:root[data-theme=funk] .gradients-gallery-thumb{background:#ffffff12}:root[data-theme=dark] .gradients-gallery-pick.is-selected .gradients-gallery-thumb,:root[data-theme=funk] .gradients-gallery-pick.is-selected .gradients-gallery-thumb{box-shadow:none}:root[data-theme=dark] .gradients-gallery-close,:root[data-theme=dark] .gradients-gallery-trash,:root[data-theme=dark] .modal-close,:root[data-theme=funk] .gradients-gallery-close,:root[data-theme=funk] .gradients-gallery-trash,:root[data-theme=funk] .modal-close{color:#ffffff8c}:root[data-theme=dark] .gradients-gallery-close:hover,:root[data-theme=dark] .gradients-gallery-trash:hover:not(:disabled),:root[data-theme=dark] .modal-close:hover,:root[data-theme=funk] .gradients-gallery-close:hover,:root[data-theme=funk] .gradients-gallery-trash:hover:not(:disabled),:root[data-theme=funk] .modal-close:hover{color:#fff}:root[data-theme=funk] .gradients-gallery-link.is-danger:hover:not(:disabled){color:#ff8a8a}.sound-toggle-wrap{position:fixed;z-index:24;right:var(--page-pad-x);bottom:var(--page-pad-bottom);overflow:visible;line-height:0}@media (max-width: 980px){.chrome-bar,.site-side-nav{left:18px;right:18px;bottom:18px}.gradients-dock{left:18px;bottom:18px}.sound-toggle-wrap{right:18px;bottom:18px}}.sound-toggle{position:relative;z-index:1;margin:0;width:14px;height:14px;padding:0;border:none;background:transparent;color:var(--muted);cursor:pointer;display:block;-moz-appearance:none;appearance:none;-webkit-appearance:none;line-height:0;overflow:visible}.sound-toggle:after{content:"";position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px}.sound-toggle:hover{color:var(--title)}.sound-toggle svg{display:block;width:14px;height:14px;flex-shrink:0}.sound-spark{position:absolute;top:-8px;left:3px;margin:0;font-size:8px;line-height:8px;color:inherit;transform:translateY(.08em);animation:mood-sparkle 2.4s ease-in-out infinite;pointer-events:none}:root[data-theme=funk] .sound-toggle{color:#ffffffb8}:root[data-theme=funk] .sound-toggle:hover{color:#fff}@media (prefers-reduced-motion: reduce){.app.is-ready,.intro,.intro.is-leaving,.intro-iso,.intro-iso.is-in,.intro-title,.intro-title.is-spark,.mood-spark,.pill-thumb-star-glyph,.sound-spark,.swatch.is-selected:not(.is-locked):before,.swatch.is-picking:not(.is-locked):before,.export-btn:before,.randomize-btn:before,.preview-logo-box.is-placing:before,.modal-backdrop,.export-modal,.export-done,.color-picker,.cp-format-menu,.gradients-gallery,.gradients-viewer{animation:none!important;transition:none!important}.intro-iso.is-in{opacity:1;transform:scale(1)}.intro-title.is-in{opacity:1;transform:translateY(2px)}.export-btn:hover:before,.randomize-btn:hover:before{animation:none!important}button:active,.format-btn:active .format-frame,.pill-label:active,.move-cell:active,.chip:active,.tool-btn:active,.tool-clear-float:active,.export-btn:active,.randomize-btn:active,.reset-btn:active,.export-confirm:active:not(:disabled),.export-secondary:active,.gradients-gallery-pick:active,.export-option:active,.from-image-btn:active,.share-chip:active,.swatch:active,.lock-btn:active{transform:none}}.mutate-lab{min-height:100dvh;padding:24px 20px 40px;background:#111;color:#f2f2f2}.mutate-lab-bar{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 20px;margin-bottom:20px}.mutate-lab-bar h1{margin:0;font-size:16px;font-weight:500}.mutate-lab-bar p{margin:0;font-size:12px;color:#8f8f8f}.mutate-lab-bar a{font-size:14px;color:#f2f2f2;background:#2a2a2a;border:0;border-radius:999px;padding:6px 14px;text-decoration:none;cursor:pointer;margin-left:auto}.mutate-lab-moods{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.mutate-lab-moods button{display:inline-flex;align-items:baseline;gap:8px;font-size:14px;color:#c8c8c8;background:#1c1c1c;border:0;border-radius:999px;padding:8px 14px;cursor:pointer}.mutate-lab-moods button span{font-size:12px;color:#7a7a7a}.mutate-lab-moods button.is-on{background:#f2f2f2;color:#111}.mutate-lab-moods button.is-on span{color:#555}.mutate-lab-stage{display:grid;justify-items:center;gap:16px}.mutate-lab-name{margin:0;font-size:16px;color:#9b9b9b}.mutate-lab-stage canvas{display:block;width:min(72vw,520px);height:auto;aspect-ratio:1;border-radius:28px;background:#1a1a1a}.mutate-lab-votes{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.mutate-lab-votes button{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#f2f2f2;background:#2a2a2a;border:0;border-radius:999px;padding:10px 18px;cursor:pointer}.mutate-lab-votes kbd{font:inherit;font-size:12px;color:#8f8f8f}.mutate-lab-votes button.is-bad{background:#3a3330;color:#f0e6dc}.mutate-lab-votes button.is-bad kbd{color:#b5a79a}.mutate-lab-votes button.is-love{background:#f2f2f2;color:#111}.mutate-lab-review{margin-top:36px}.mutate-lab-review h2{margin:0 0 14px;font-size:14px;font-weight:500;color:#c8c8c8}.mutate-lab-review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.mutate-lab-review-grid figure{margin:0}.mutate-lab-review-grid canvas{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:16px;background:#1a1a1a}.mutate-lab-review-grid figcaption{margin-top:6px;font-size:12px;color:#8f8f8f}.mutate-lab-loved{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:28px;font-size:12px;color:#8f8f8f}.explore-page{position:relative;min-height:100dvh;padding:var(--page-pad-top) var(--page-pad-x) calc(var(--page-pad-bottom) + 2.5rem);color:var(--title)}.explore-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:relative;min-height:28px;margin-bottom:2.4rem}.explore-top .brand{justify-self:start;margin-inline-start:0;text-decoration:none}.explore-top .top-iso{grid-column:2;justify-self:center}.explore-top .theme-toggle{grid-column:3;justify-self:end;margin-inline-end:0}@media (max-width: 980px){.explore-top{grid-template-columns:1fr 1fr}.explore-top .theme-toggle{grid-column:2}}.explore-main,.piece-main{max-width:1080px;margin:0 auto}.explore-eyebrow{margin:0 0 .35rem;font-size:12px;letter-spacing:-.01em;color:var(--muted)}.explore-title{margin:0 0 .55rem;font-size:16px;font-weight:300;letter-spacing:-.03em;line-height:1.25}.explore-lead{margin:0 0 1.6rem;max-width:28rem;font-size:14px;font-weight:300;letter-spacing:-.01em;line-height:1.4;color:var(--muted)}.explore-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem .85rem}.explore-card{display:block;text-decoration:none;color:inherit}.explore-card-frame{overflow:hidden;border-radius:16px;background:var(--soft);margin-bottom:.55rem}.explore-card-thumb,.piece-thumb{display:block;width:100%;height:auto}.explore-card-name{margin:0 0 .2rem;font-size:14px;font-weight:400;letter-spacing:-.01em}.explore-card-dots{display:flex;align-items:center;gap:5px;margin:0}.explore-card-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.piece-info{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.piece-back{display:inline-flex;align-items:center;justify-content:center;box-sizing:content-box;width:14px;height:14px;margin:0 0 1.15rem -8px;padding:8px;color:var(--title);line-height:0;text-decoration:none;cursor:pointer}.piece-back svg{display:block;overflow:visible;transform:rotate(90deg);transform-box:fill-box;transform-origin:center}.piece-back:hover{opacity:.62}.piece-back:focus-visible{outline:2px solid var(--title);outline-offset:3px;border-radius:4px}@media (min-width: 981px){.piece-app .rail-left{position:relative}.piece-app .rail-left .piece-back{position:absolute;top:calc(50% - var(--desk-visor) / 2 - 8px);left:0;margin:0;padding:8px 8px 8px 0}}.piece-kicker{margin:0 0 .2rem;font-size:14px;font-weight:400;letter-spacing:-.01em;line-height:1.3;color:var(--muted)}.piece-name{margin:0 0 .85rem;font-size:28px;font-weight:300;letter-spacing:-.03em;line-height:1.15;color:var(--title);overflow-wrap:break-word}.piece-dots{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 .85rem}.piece-dot{width:22px;height:22px;border-radius:50%;flex-shrink:0}.piece-facts{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.4rem;font-size:14px;font-weight:400;letter-spacing:-.01em;line-height:1.3;color:var(--title)}.piece-actions{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(1.35rem,2.4vh,2rem);margin:0}.piece-action{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;font-size:14px;font-weight:400;letter-spacing:-.01em;line-height:1.3;color:var(--title)}.piece-action:disabled{opacity:.42;cursor:wait}.piece-app .preview-frame,.piece-app .preview-frame[data-format="1:1"] .preview-canvas{width:100%;height:100%}.piece-app .preview-frame[data-format="16:9"] .preview-canvas{width:100%;height:auto}.piece-app .preview-frame[data-format="4:5"] .preview-canvas,.piece-app .preview-frame[data-format="9:16"] .preview-canvas{width:auto;height:100%}.piece-missing{grid-column:2 / 7;align-self:center;justify-self:start;display:flex;flex-direction:column;align-items:flex-start;gap:.85rem}@media (max-width: 980px){.explore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-stack{margin-inline-start:0}.piece-app{overflow-x:hidden;overflow-y:auto}.piece-app .workspace{margin-top:.85rem;width:100%;margin-left:0;padding-left:0;padding-right:0;overflow:visible;flex:0 0 auto}.piece-app .flow{gap:1.6rem;padding-bottom:calc(var(--page-pad-bottom) + 2.75rem)}.piece-app .center{display:flex;width:100%;height:auto;align-items:center}.piece-app .preview-shell{width:100%;justify-content:center}.piece-app .preview-stage{width:min(100%,78vw,420px);height:min(100%,78vw,420px)}.piece-name{font-size:20px}.piece-missing{grid-column:auto}}html{color-scheme:light;height:100%;min-height:100dvh}body{margin:0;min-height:100%;min-height:100dvh}#root{min-height:100%;min-height:100dvh}
