@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: #8a8a8a;--line: #e8e8e8;--track: #ececec;--soft: #efefef;--warm: #e8a06a;--title: #494949;--focus-ring: #494949;--font: "Helvetica Neue", Helvetica, Arial, sans-serif;--sheet-bg: rgba(255, 255, 255, .94);--sheet-border: transparent;--sheet-radius: 20px;--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-cols: minmax(0, 1fr) var(--desk-rail) minmax(0, 1fr) auto minmax(0, 1fr) var(--desk-rail) minmax(0, 1fr);--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% )}:root[data-theme=dark]{--bg: #121212;--surface: #1a1a1a;--ink: #e6e6e6;--muted: #8f8f8f;--tool-icon: #a3a3a3;--line: #2c2c2c;--track: #2a2a2a;--soft: #242424;--warm: #e8a06a;--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}button,input{font:inherit;color:inherit}@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;grid-template-columns:var(--desk-cols);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-trail{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:30}@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;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}.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(.92);transition:opacity .65s ease,transform .65s ease;flex-shrink:0}.intro-iso.is-in{opacity:1;transform:scale(1)}.intro-title{margin:0;display:flex;flex-direction:row;align-items:baseline;font-size:clamp(1.15rem,2.2vw,1.45rem);font-weight:300;letter-spacing:-.03em;color:#fffffff0;text-shadow:0 1px 16px rgba(0,0,0,.25);line-height:1;white-space:nowrap;transform:translateY(2px)}.intro-word{display:inline-block;opacity:0;transform:translate(8px,2px);transition:opacity .7s ease,transform .7s ease}.intro-word.is-in{opacity:1;transform:translateY(2px)}.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:clamp(1.2rem,2.8vw,1.45rem);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: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:18px;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}.top-iso{grid-column:4;justify-self:center;align-self:center;display:flex;align-items:center;line-height: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-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{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:thin;scrollbar-color:color-mix(in srgb,var(--ink) 22%,transparent) transparent;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:4px}.rail-left::-webkit-scrollbar-thumb,.rail-right::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink) 22%,transparent);border-radius:999px}.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;border:none;background:transparent;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)}.name-input::placeholder{color:color-mix(in srgb,var(--muted) 70%,transparent)}.name-input:focus{color:var(--ink)}.name-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;border-radius:4px}.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:.85rem;align-items:flex-end}.format-btn{border:none;background:none;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.4rem}.format-frame{display:block;background:var(--soft);border-radius:7px}.format-1x1 .format-frame{width:42px;height:42px}.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;color:var(--muted)}.format-btn.is-active .format-label{color:var(--ink)}.swatch-row{display:flex;flex-wrap:wrap;align-items:center;gap:.42rem;padding:3.5px;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:-3.5px;right:-3.5px;bottom:-3.5px;left:-3.5px;border-radius:50%;padding:3.5px;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:-3.5px;right:-3.5px;bottom:-3.5px;left:-3.5px;border-radius:50%;padding:3.5px;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:.4rem;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:12px;height:12px;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:18px;height:18px;border-radius:50%;border:none;transform:translate(-50%,-50%);box-shadow:none;pointer-events:none;z-index:1}.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:11px;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:.7rem;color:var(--muted)}.nested-pill+.nested-pill{margin-top:1rem}.pill-slider{width:100%}.pill-track{position:relative;display:flex;align-items:center;min-height:32px;padding:0 15px;background:#0000000d;border-radius:999px}.pill-range{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:3;-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:none}.pill-labels{position:relative;z-index:1;display:flex;justify-content:space-between;width:100%;pointer-events:none}.pill-label{border:none;background:none;padding:.35rem .15rem;margin:0;font-size:12px;color:var(--muted);letter-spacing:-.01em;pointer-events:auto;cursor:pointer}.pill-thumb{position:absolute;top:50%;width:18px;height:18px;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}.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;width:100%;min-height:32px;padding:0 15px;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}.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:.7em;line-height:1;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:.55em;margin-left:.1mm}@keyframes mood-sparkle{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform: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:11px;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:11px;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-filling svg.save-icon{visibility:hidden}.utility-icon-btn.is-filling:after{content:"";position:absolute;left:50%;top:50%;z-index:1;width:14px;height:14px;margin:-7px 0 0 -7px;background:var(--live-grad, var(--accent-grad-long));background-size:200% auto;background-repeat:no-repeat;opacity:1;transform-origin:center;animation:heart-fill-out .55s cubic-bezier(.16,1,.3,1) both,gradient-shift 5s linear infinite;-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;-webkit-mask-mode:alpha;mask-mode:alpha}.utility-icon-btn.is-flying{pointer-events:none}@keyframes heart-fill-out{0%{transform:scale(0)}62%{transform:scale(1.22)}to{transform:scale(1.12)}}.save-heart-flyer{position:fixed;z-index:60;width:14px;height:14px;margin:0;padding:0;pointer-events:none;opacity:1;background:var(--live-grad, var(--accent-grad-long));background-size:200% auto;background-repeat:no-repeat;transform-origin:center;animation:save-heart-fly 1.05s cubic-bezier(.22,.61,.36,1) forwards,gradient-shift 5s linear infinite;-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;will-change:transform,opacity}@keyframes save-heart-fly{0%{transform:translate(0) scale(1.18);opacity:1}18%{transform:translate(calc(var(--fly-dx) * .12),calc(var(--fly-dy) * .06 - 18px)) scale(1.28);opacity:1}to{transform:translate(var(--fly-dx),var(--fly-dy)) scale(.45);opacity:0}}.gradients-dock.is-catch{animation:gradients-dock-catch .55s cubic-bezier(.22,1,.36,1)}.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:11px;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:var(--sheet-bg);border:none;border-radius:var(--sheet-radius);padding:.85rem;box-shadow:var(--sheet-shadow)}.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:1px solid var(--line);border-radius:10px;padding:.45rem .6rem;font-size:.78rem;color:var(--title);outline:none;background:#fff;overflow:hidden;text-overflow:ellipsis}.cp-hex:focus{border-color:#cfcfcf}.cp-format-wrap{position:relative}.cp-format{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;height:100%;min-width:58px;border:1px solid var(--line);border-radius:10px;font-size:.65rem;letter-spacing:.04em;color:var(--title);padding:0 .55rem;background:#fff;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:var(--sheet-bg);border:none;border-radius:12px;box-shadow:var(--sheet-shadow);z-index:6;min-width:100%}.cp-format-menu button{display:block;width:100%;border:none;background:none;text-align:left;padding:.4rem .55rem;font-size:.68rem;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{width:128px;aspect-ratio:1;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-cell{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:#ffffffbf}.move-arrow{display:block;color:var(--move-accent);transform-origin:center}.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}.preview-stage{position:relative;width:min(60vmin,490px);height:min(60vmin,490px);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;box-shadow:none;will-change:width,height}.preview-art{position:relative;line-height:0;max-width:100%;max-height:100%;overflow:hidden;border-radius:36px;background:var(--soft)}.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;width:36px;height:36px;border-radius:11px;border:none;background:#fffffff0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;display:grid;place-items:center;padding:0;transition:background .2s ease,box-shadow .15s ease,color .15s ease}.tool-btn:hover{background:#fff}.tool-btn.is-active{background:#fff;box-shadow:none}.icon-pause{width:8px;height:10px;border-left:2.5px solid var(--tool-icon);border-right:2.5px solid var(--tool-icon)}.tool-btn:hover .icon-pause,.tool-btn.is-active .icon-pause{border-left-color:var(--ink);border-right-color:var(--ink)}.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:calc(.85rem + 2mm) 2.6rem;border-radius:999px;border:none;background:transparent;cursor:pointer;font-size:.95rem;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:calc(1.7px + .1mm);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{font-size:.95rem;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(-50%);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:40;padding:var(--page-pad-top) var(--page-pad-x) var(--page-pad-x);background:transparent;animation:export-backdrop-in .55s cubic-bezier(.22,1,.36,1) forwards}@keyframes export-backdrop-in{0%{opacity:0}to{opacity:1}}.modal-backdrop:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:#0000006b;backdrop-filter:blur(56px) saturate(1.15);-webkit-backdrop-filter:blur(56px) saturate(1.15);animation:export-glass-in .7s cubic-bezier(.22,1,.36,1) forwards}@keyframes export-glass-in{0%{opacity:0;backdrop-filter:blur(0) saturate(1);-webkit-backdrop-filter:blur(0) saturate(1)}to{opacity:1;backdrop-filter:blur(56px) saturate(1.15);-webkit-backdrop-filter:blur(56px) saturate(1.15)}}.modal-backdrop:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:#00000047;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);animation:export-backdrop-in .65s cubic-bezier(.22,1,.36,1) .04s both}.export-modal{position:relative;z-index:1;display:flex;flex-direction:column;width:min(100%,400px);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:thin;animation:export-modal-in .45s cubic-bezier(.22,1,.36,1) both;transform-origin:50% 40%}.export-modal-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.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}@keyframes export-modal-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.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-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:clamp(1.2rem,2.8vw,1.45rem);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:.42rem .8rem;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:#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:thin}.export-css-code-done{width:100%;max-height:9rem;margin-bottom:.85rem;text-align:left}.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:.8rem 1rem;background:transparent;color:var(--title);cursor:pointer;font-size:.88rem;font-weight:400;z-index:0}.export-confirm:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;padding:1.7px;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{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}.top{display:grid;grid-template-columns:1fr 1fr;grid-column:auto;align-items:center;gap:.5rem;flex-shrink:0;column-gap:.5rem;width:100%;position:relative;min-height:28px}.brand{grid-column:1;justify-self:start;margin-inline-start:0;text-align:left;font-size:15px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;align-self:center}.theme-toggle{grid-column:2;justify-self:end;margin-inline-end:0;text-align:right;font-size:14px;white-space:nowrap;align-self:center}.top-iso{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);grid-column:auto;justify-self:auto;z-index:1;pointer-events:none}.top-iso .header-icon-btn{pointer-events:auto}.workspace{display:flex;flex-direction:column;align-items:stretch;grid-column:auto;grid-template-columns:none;gap:0;min-height:0;flex:1;width:100%;overflow:hidden;position:relative}.workspace-soft{display:block;flex:1 1 auto;min-height:min(9.5rem,28dvh);width:100%;position:relative;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:auto;scroll-padding-top:.5rem;scroll-padding-bottom:calc(var(--page-pad-bottom) + 2.5rem);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ink) 28%,transparent) transparent}.center-spacer{display:none}.workspace-soft::-webkit-scrollbar{width:4px}.workspace-soft::-webkit-scrollbar-track{background:transparent;margin:12px 0 28px}.workspace-soft::-webkit-scrollbar-thumb{background:var(--live-grad, var(--accent-grad-long));background-size:200% 100%;border-radius:999px;min-height:48px}.workspace-soft::-webkit-scrollbar-thumb:active{background-size:120% 100%}.center{position:relative;top:auto;left:auto;right:auto;z-index:6;height:auto;width:100%;max-width:none;flex:0 0 auto;min-height:0;max-height:none;overflow:visible;justify-content:flex-start;gap:.45rem;padding:.15rem 0 1.05rem;margin:0;background:var(--bg);isolation:isolate;grid-column:auto;grid-row:auto;justify-self:stretch;transition:padding .4s cubic-bezier(.4,0,.2,1),gap .4s cubic-bezier(.4,0,.2,1)}.workspace.is-scrolled .center{padding-bottom:.55rem;gap:.28rem}.center:after{display:none}.preview-stage{width:min(100%,58vw,328px,42dvh);height:min(58vw,328px,42dvh);transition:width .4s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1)}.workspace.is-scrolled .preview-stage{width:min(100%,46vw,268px,33dvh);height:min(46vw,268px,33dvh)}.preview-shell{width:100%;flex:0 0 auto;display:flex;justify-content:center}.preview-canvas{border-radius:28px}.preview-frame[data-format="1:1"] .preview-art,.preview-frame[data-format="1:1"] .preview-canvas{border-radius:40px}.name-block{margin-top:22px;margin-bottom:3px;padding-bottom:10px;transition:margin .4s cubic-bezier(.4,0,.2,1),padding .4s cubic-bezier(.4,0,.2,1)}.workspace.is-scrolled .name-block{margin-top:8px;padding-bottom:2px}.name-label{display:none}.name-input{font-size:20px}.center-actions{margin-top:10px;top:0;gap:0;z-index:1;transition:margin .4s cubic-bezier(.4,0,.2,1)}.workspace.is-scrolled .center-actions{margin-top:4px}.center-actions>:not(.utility-slot--mobile)+:not(.utility-slot--mobile){margin-top:.65rem}.center-actions>.randomize-btn{margin-top:calc(.65rem + 3px)}.utility-slot--mobile{display:block;width:100%;margin-top:calc(.55rem + 10px)}.utility-slot--mobile .utility-row{margin-top:0}.utility-slot--desk{display:none}.export-btn{margin-top:6px;padding:calc(.85rem + 2mm - 2px) calc(2.6rem - 28px);min-width:144px}.params{display:flex;flex-direction:column;align-items:stretch;gap:1.5rem;width:100%;position:relative;z-index:0;padding:.35rem .1rem calc(var(--page-pad-bottom) + 3.25rem)}.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}}@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{font-size:14px}.theme-toggle{font-size:13px}.header-icon{width:24px;height:24px;border-radius:7px}.preview-stage{width:min(100%,72vw,288px,40dvh);height:min(72vw,288px,40dvh);transition:width .4s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1)}.workspace.is-scrolled .preview-stage{width:min(100%,58vw,228px,31dvh);height:min(58vw,228px,31dvh)}.workspace-soft::-webkit-scrollbar{width:3px}}: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=funk] .color-picker,: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,:root[data-theme=funk] .tool-btn{background:color-mix(in srgb,var(--soft) 92%,transparent)}:root[data-theme=dark] .tool-btn:hover,:root[data-theme=dark] .tool-btn.is-active,:root[data-theme=funk] .tool-btn:hover,:root[data-theme=funk] .tool-btn.is-active{background:var(--soft)}: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-cell.is-active,:root[data-theme=funk] .move-cell.is-active{background:color-mix(in srgb,var(--ink) 14%,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,.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 (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){.move-cell{min-height:40px}.format-btn{padding-block:6px}.swatch{width:26px;height:26px}.swatch-row{gap:.5rem}.tool-btn{min-width:44px;min-height:44px}}.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:-1.7rem;bottom:-1.7rem;left:-1.35rem;right:calc(-3.45rem - 10px);-webkit-mask-image:radial-gradient(closest-side at 38% 50%,#000 36%,transparent 88%);mask-image:radial-gradient(closest-side at 38% 50%,#000 36%,transparent 88%)}.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%)}:root[data-theme=funk] .chrome-blur{backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px)}:root[data-theme=funk] .chrome-blur--gradients{top:-1.85rem;bottom:-1.85rem;left:-1.45rem;right:calc(-3.7rem - 10px);-webkit-mask-image:radial-gradient(closest-side at 38% 50%,#000 38%,transparent 90%);mask-image:radial-gradient(closest-side at 38% 50%,#000 38%,transparent 90%)}:root[data-theme=funk] .chrome-blur--sound{top:-1.85rem;bottom:-1.85rem;left:-1.9rem;right:-1.15rem}.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:42}.gradients-gallery{position:relative;z-index:1;width:min(100%,400px);max-height:min(88dvh,720px);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:export-modal-in .45s cubic-bezier(.22,1,.36,1) both}.gradients-gallery-eyebrow{margin:0 0 .15rem;padding-right:2rem;min-height:22px;display:flex;align-items:center;font-size:14px;letter-spacing:-.01em;line-height:1;color:var(--muted)}.gradients-gallery-title{margin:0 0 1.05rem;padding-right:2rem;font-size:clamp(1.2rem,2.8vw,1.45rem);font-weight:300;letter-spacing:-.03em;color:var(--title);line-height:1.2}.gradients-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem .55rem;margin-bottom:.15rem;max-height:min(52dvh,380px);overflow:auto}.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:flex;flex-direction:column;gap:.3rem;border:none;background:transparent;padding:0;margin:0;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}.gradients-gallery-thumb{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1;border-radius:14px;background:color-mix(in srgb,var(--soft) 55%,transparent);overflow:hidden}.gradients-gallery-thumb img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:11px}.gradients-gallery-thumb[data-format="1:1"] img{width:100%;height:100%;object-fit:cover;border-radius:14px}.gradients-gallery-thumb[data-format="4:5"] img{height:100%;width:auto;aspect-ratio:4 / 5}.gradients-gallery-thumb[data-format="9:16"] img{height:100%;width:auto;aspect-ratio:9 / 16}.gradients-gallery-thumb[data-format="16:9"] img{width:100%;height:auto;aspect-ratio:16 / 9}.gradients-gallery-pick-name{font-size:10px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 .05rem}.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-name{margin:0;align-self:stretch;font-size:.95rem;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:.72rem;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%,440px);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:export-modal-in .45s cubic-bezier(.22,1,.36,1) 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;display:grid;place-items:center;width:100%;aspect-ratio:1;border-radius:18px;background:color-mix(in srgb,var(--soft) 55%,transparent);overflow:hidden}.gradients-viewer-frame img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:14px}.gradients-viewer-frame[data-format="1:1"] img{width:100%;height:100%;object-fit:cover;border-radius:18px}.gradients-viewer-frame[data-format="4:5"] img{height:100%;width:auto;aspect-ratio:4 / 5}.gradients-viewer-frame[data-format="9:16"] img{height:100%;width:auto;aspect-ratio:9 / 16}.gradients-viewer-frame[data-format="16:9"] img{width:100%;height:auto;aspect-ratio:16 / 9}.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:.45rem}: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:#ffffff0f}: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] .modal-close,:root[data-theme=funk] .gradients-gallery-close,:root[data-theme=funk] .modal-close{color:#ffffff8c}:root[data-theme=dark] .gradients-gallery-close:hover,:root[data-theme=dark] .modal-close:hover,:root[data-theme=funk] .gradients-gallery-close:hover,: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}.sound-toggle{position:relative;z-index:1;margin:0;width:auto;height:auto;padding:0;border:none;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:flex-start;gap:1px;-moz-appearance:none;appearance:none;-webkit-appearance:none;line-height:0;overflow:visible}.sound-toggle:hover{color:var(--title)}.sound-toggle svg{display:block;flex-shrink:0}.sound-spark{display:block;margin-top:-2px;font-size:7px;line-height:1;color:inherit;animation:mood-sparkle 2.4s ease-in-out infinite;pointer-events:none;flex-shrink:0}: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,.mood-spark,.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{animation:none!important;transition:none!important}.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}}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}
