@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(./fredoka-400-latin-ext-tYNUQHO6.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(./fredoka-400-latin-DOQG_Jwn.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(./fredoka-400-latin-ext-tYNUQHO6.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(./fredoka-400-latin-DOQG_Jwn.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(./fredoka-400-latin-ext-tYNUQHO6.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(./fredoka-400-latin-DOQG_Jwn.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(./fredoka-400-latin-ext-tYNUQHO6.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(./fredoka-400-latin-DOQG_Jwn.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(./jetbrains-mono-400-latin-ext-Bnd2h4Br.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(./jetbrains-mono-400-latin-Db4Uuiha.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(./jetbrains-mono-400-latin-ext-Bnd2h4Br.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(./jetbrains-mono-400-latin-Db4Uuiha.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(./nunito-400-latin-ext-euCJkQzq.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(./nunito-400-latin-CjueodBP.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(./nunito-400-latin-ext-euCJkQzq.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(./nunito-400-latin-CjueodBP.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(./nunito-400-latin-ext-euCJkQzq.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(./nunito-400-latin-CjueodBP.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(./nunito-400-latin-ext-euCJkQzq.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(./nunito-400-latin-CjueodBP.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg: #F7FBFF;--bg-2: #EFF8F6;--ink: #2F415C;--ink-soft: #5F7394;--ink-muted: #8CA1BE;--sun: #FFE799;--sun-deep: #FFD66F;--coral: #FFB4AE;--coral-deep: #F18E96;--pink: #FFCFE1;--teal: #8DDCC9;--sky: #A8DBFF;--violet: #C5B9FF;--lime: #BFE89A;--cream: #FFF3C9;--paper: #FFFFFF;--outline: #2F415C;--pink-soft: #FFE7F0;--teal-soft: #E4F9F2;--sky-soft: #E8F5FF;--violet-soft: #EEE9FF;--sun-soft: #FFF6D6;--ring: color-mix(in srgb, var(--sky) 76%, white);--brand-grad-warm: linear-gradient(135deg, color-mix(in srgb, var(--sun) 78%, white) 0%, color-mix(in srgb, var(--coral) 55%, var(--sun)) 100%);--brand-grad-sky: linear-gradient(135deg, color-mix(in srgb, var(--sky) 72%, white) 0%, color-mix(in srgb, var(--teal) 35%, var(--sky)) 100%);--ease-back: cubic-bezier(.28, 1.2, .4, 1);--shadow-pop: 0 8px 20px rgba(111, 141, 181, .2);--shadow-soft: 0 6px 16px rgba(111, 141, 181, .14);--sidebar-w: 320px;--topbar-h: 48px;--studio-col-max: 880px;--content-w: calc(var(--sidebar-w) + var(--studio-col-max) + 2rem)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}body{font-family:Nunito,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5;min-height:100vh;min-height:100dvh;overflow-x:hidden;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);-webkit-text-size-adjust:100%;background-image:radial-gradient(circle,rgba(111,141,181,.08) 1px,transparent 1.4px),radial-gradient(circle at 12% 18%,rgba(197,185,255,.2) 0%,transparent 38%),radial-gradient(circle at 88% 82%,rgba(141,220,201,.18) 0%,transparent 42%);background-size:24px 24px,auto,auto}.view-landing body,body.view-landing{background-image:linear-gradient(to bottom,#f7fbffb8,#f7fbffc7),url(./bg-CdZSUPuV.png);background-size:cover,cover;background-position:center center,center center;background-repeat:no-repeat,no-repeat;background-attachment:fixed,fixed}::selection{background:var(--sun);color:var(--ink)}.help{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--cream);border:1.5px solid var(--ink);font-family:Fredoka,sans-serif;font-size:9px;font-weight:700;color:var(--ink);cursor:help;line-height:1;padding:0;flex-shrink:0}.help:hover{background:var(--sun)}.help:before{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.tip-floater{position:fixed;top:0;left:0;z-index:1000;pointer-events:none;background:color-mix(in srgb,var(--ink) 90%,#1f2f47);color:#fff;padding:.5rem .75rem;border-radius:14px;font-family:Fredoka,sans-serif;font-size:.74rem;font-weight:500;line-height:1.4;max-width:min(260px,calc(100vw - 24px));text-align:center;box-shadow:var(--shadow-soft);opacity:0;transform:translateY(2px);transition:opacity .12s ease,transform .12s ease}.tip-floater.show{opacity:1;transform:translateY(0)}.tip-arrow{position:absolute;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;margin-left:-6px}.tip-floater[data-placement=top] .tip-arrow{bottom:-6px;border-top:6px solid var(--ink)}.tip-floater[data-placement=bottom] .tip-arrow{top:-6px;border-bottom:6px solid var(--ink)}:where(button,a,.landing-drop,.upload-btn,.upload-replace,.preset-btn,.toggle,.adj-btn,.download-overlay):focus-visible{outline:3px solid var(--ring);outline-offset:2px}.topbar{position:sticky;top:0;z-index:200;background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 65%,var(--sky-soft)),color-mix(in srgb,var(--bg) 78%,var(--sun-soft)));border-bottom:1px solid color-mix(in srgb,var(--ink) 26%,transparent);height:var(--topbar-h)}.topbar-inner{max-width:var(--content-w);margin:0 auto;padding:.6rem 1rem;height:100%;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.topbar-brand{font-family:Fredoka,sans-serif;font-weight:700;font-size:1.05rem;display:flex;align-items:center;gap:.5rem;letter-spacing:-.01em;color:var(--ink);text-decoration:none;-webkit-tap-highlight-color:transparent;outline:none;padding:.2rem .5rem;border-radius:999px;transition:background .18s ease}.topbar-brand{display:flex;align-items:center;gap:8px}.brand-logo{max-height:28px;max-width:120px;height:auto;width:auto;object-fit:contain}.topbar-brand:hover{text-decoration:none;background:color-mix(in srgb,var(--sky-soft) 78%,white)}.brand-text{display:inline-flex;align-items:baseline;gap:.3em;line-height:1}.brand-prefix{font-weight:600;font-size:.92rem;color:color-mix(in srgb,var(--ink-soft) 88%,var(--violet))}.brand-dot{width:26px;height:26px;flex-shrink:0;overflow:visible}.brand-dot .brand-dot-fill{fill:var(--sun)}.brand-dot .brand-dot-grid{fill:url(#brand-dot-grid)}.brand-dot .brand-dot-outline{fill:none;stroke:var(--ink);stroke-width:2;stroke-linejoin:round}.topbar-nav{display:flex;gap:.25rem;font-weight:600;font-size:.85rem}.topbar-nav a{color:var(--ink);text-decoration:none;padding:.3rem .7rem;border-radius:10px;transition:all .15s ease}.topbar-nav a:hover{background:var(--sun)}.topbar-nav .topbar-help,.topbar-brand,.brand-text{white-space:nowrap}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:calc(100vh - var(--topbar-h));min-height:calc(100dvh - var(--topbar-h));max-width:var(--content-w);margin:0 auto}.sb-extras{display:contents}.sb-extras-toggle{display:none}.sb-extras-body{display:contents}.sidebar{background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 88%,var(--sun-soft)) 0%,var(--paper) 100%);border-right:1px solid color-mix(in srgb,var(--ink) 22%,transparent);padding:1rem;overflow-y:auto;overflow-x:hidden;position:sticky;top:var(--topbar-h);max-height:calc(100vh - var(--topbar-h));max-height:calc(100dvh - var(--topbar-h));display:flex;flex-direction:column;gap:1rem;min-width:0}.sb-section{display:flex;flex-direction:column;gap:.5rem;min-width:0;background:color-mix(in srgb,var(--paper) 92%,var(--sky-soft));border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);border-radius:18px;padding:.7rem .75rem;box-shadow:0 6px 14px #6f8db51c}.sb-heading{display:flex;align-items:center;gap:.4rem;font-family:Fredoka,sans-serif;font-weight:600;font-size:.72rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em}.sb-heading-ico{font-size:.95rem;line-height:1;flex-shrink:0;filter:grayscale(.1)}.main{padding:1rem;display:flex;flex-direction:column;gap:.9rem;min-width:0;--studio-col: min(100%, calc(100dvh - 240px) , 880px)}.main>.workshop-header,.main>.card,.main>.ad-slot,.main>.stage-wrap{width:100%;max-width:var(--studio-col)}@media (min-width: 841px){.main>.workshop-header,.main>.card,.main>.ad-slot,.main>.stage-wrap{margin-left:0;margin-right:auto}}.workshop-header{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;padding:.6rem .85rem;background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 82%,var(--violet-soft)),color-mix(in srgb,var(--paper) 90%,var(--sky-soft)));border:1px solid color-mix(in srgb,var(--ink) 24%,transparent);border-radius:20px;box-shadow:var(--shadow-soft)}.workshop-header>.wh-recipe{margin-left:auto}.wh-stats,.wh-recipe{display:flex;flex-wrap:nowrap;align-items:center;gap:.4rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x;overscroll-behavior:contain;flex-shrink:0}.wh-stats::-webkit-scrollbar,.wh-recipe::-webkit-scrollbar{display:none}.wh-recipe-title{font-family:Fredoka,sans-serif;font-weight:700;font-size:.78rem;padding:.18rem .55rem;background:var(--sun);border:1.5px solid var(--ink);border-radius:8px;letter-spacing:.01em}.wh-chip{display:inline-flex;align-items:baseline;gap:.3rem;font-family:Fredoka,sans-serif;font-size:.78rem;color:var(--ink-soft);padding:.22rem .55rem;background:var(--cream);border:1.5px solid var(--ink);border-radius:100px;white-space:nowrap}.wh-chip b{font-family:Fredoka,sans-serif;font-weight:700;font-size:.86rem;color:var(--ink)}.wh-chip.accent{background:var(--paper)}.wh-chip-label{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.66rem}.wh-help{background:var(--paper)}.stage-wrap{position:relative;flex:none;width:var(--studio-col, min(100%, calc(100vh - 240px) , 880px));aspect-ratio:1 / 1;margin:0 auto;display:flex;flex-direction:column}.stage{background:color-mix(in srgb,var(--cream) 82%,var(--paper));border:1px solid color-mix(in srgb,var(--ink) 24%,transparent);border-radius:24px;padding:.85rem;display:block;text-align:center;overflow:hidden;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--paper) 88%,var(--sky-soft)),var(--shadow-soft);flex:1;min-height:0;width:100%;touch-action:auto;-webkit-overflow-scrolling:touch}.stage.zoomed{touch-action:pan-x pan-y;cursor:grab}.stage.panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.stage.panning .canvas-holder{pointer-events:none}.zoom-ctrls{position:absolute;top:.6rem;right:.6rem;z-index:3;display:inline-flex;align-items:center;gap:.25rem;background:color-mix(in srgb,var(--paper) 92%,var(--sky-soft));border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);border-radius:100px;padding:.2rem .35rem;box-shadow:var(--shadow-soft);font-family:Fredoka,sans-serif}.zoom-ctrls button{height:28px;min-width:28px;border-radius:100px;border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);background:color-mix(in srgb,var(--sun) 62%,white);font-family:Fredoka,sans-serif;font-weight:700;font-size:1rem;line-height:1;cursor:pointer;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;padding:0 .35rem;transition:transform .1s ease}.zoom-ctrls button:hover{transform:translateY(-1px) scale(1.04)}.zoom-ctrls button:active{transform:translateY(1px)}.download-cluster{position:absolute;bottom:.9rem;right:.9rem;z-index:4}.download-overlay{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .95rem;background:var(--brand-grad-sky);background-image:linear-gradient(to right,rgba(43,30,15,.18) .7px,transparent .7px),linear-gradient(to bottom,rgba(43,30,15,.18) .7px,transparent .7px);background-size:10px 10px;color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 25%,transparent);border-radius:999px;box-shadow:var(--shadow-soft);font-family:Fredoka,sans-serif;font-weight:700;font-size:.95rem;cursor:pointer;transition:transform .25s var(--ease-back),box-shadow .25s var(--ease-back),background-color .15s ease,filter .2s ease}.download-overlay:hover,.download-cluster:hover .download-overlay,.download-overlay[aria-expanded=true]{transform:translateY(-2px) scale(1.03);box-shadow:0 10px 22px #6f8db53d;background:var(--brand-grad-warm);filter:saturate(1.04)}.download-overlay:active{transform:translate(1px,1px);box-shadow:1.5px 1.5px 0 var(--ink)}.download-overlay .download-ico{font-size:1.05rem;line-height:1}.download-overlay .download-caret{font-size:.75rem;line-height:1;margin-left:.15rem;transition:transform .15s ease}.download-overlay[aria-expanded=true] .download-caret{transform:rotate(180deg)}.download-menu{position:absolute;right:0;bottom:calc(100% + .5rem);min-width:420px;background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);border-radius:20px;box-shadow:0 14px 30px #5778a342;padding:.35rem;display:flex;flex-direction:column;gap:.25rem;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(4px);transition:opacity .14s ease,transform .14s ease,visibility .14s}.dl-menu-row{display:grid;grid-template-columns:1fr 1fr;gap:.2rem}.dl-menu-item--wide{grid-column:1 / -1}@media (max-width: 480px){.download-menu{min-width:min(280px,calc(100vw - 2rem))}.dl-menu-row{grid-template-columns:1fr}}.download-menu:after{content:"";position:absolute;left:0;right:0;top:100%;height:calc(.5rem + 4px)}.download-cluster:hover .download-menu,.download-cluster:focus-within .download-menu,.download-overlay[aria-expanded=true]+.download-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.download-menu-item{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.55rem .7rem;background:transparent;border:1.5px solid transparent;border-radius:10px;font-family:Fredoka,sans-serif;text-align:left;color:var(--ink);cursor:pointer;transition:background .1s ease,border-color .1s ease}.download-menu-item:hover,.download-menu-item:focus-visible{background:var(--sky);border-color:var(--ink);outline:none}.dl-menu-title{font-weight:700;font-size:.92rem;line-height:1.1}.dl-menu-sub{font-family:Nunito,sans-serif;font-weight:500;font-size:.72rem;color:var(--ink-soft)}.download-menu-item:hover .dl-menu-sub,.download-menu-item:focus-visible .dl-menu-sub{color:var(--ink)}.download-menu-item.is-disabled{opacity:.4;cursor:not-allowed}.download-menu-item.is-disabled:hover,.download-menu-item.is-disabled:focus-visible{background:transparent;border-color:transparent}.download-menu-item.is-disabled:hover .dl-menu-sub,.download-menu-item.is-disabled:focus-visible .dl-menu-sub{color:var(--ink-soft)}.toggle.is-disabled{opacity:.4;cursor:not-allowed}.zoom-ctrls #zoom-reset{background:var(--cream);min-width:46px;font-family:JetBrains Mono,monospace;font-weight:600;font-size:.68rem}.canvas-holder{position:relative;display:inline-block;border-radius:6px;overflow:hidden}canvas{display:block;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.highlight-layer{position:absolute;top:0;left:0;pointer-events:none;image-rendering:pixelated}.drop-hint{position:absolute;top:.75rem;right:.75rem;bottom:.75rem;left:.75rem;z-index:5;border:3px dashed var(--coral-deep);border-radius:12px;background:#fed74bb3;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);display:none;align-items:center;justify-content:center;pointer-events:none;color:var(--ink)}.drop-hint-inner{display:inline-flex;align-items:center;gap:.6rem;padding:.75rem 1.1rem;font-family:Fredoka,sans-serif;font-weight:700;font-size:1rem;background:var(--paper);border:2.5px solid var(--ink);border-radius:100px;box-shadow:3px 3px 0 var(--ink)}.drop-hint-emoji{font-size:1.2rem}.stage.dragging .drop-hint{display:flex}.stage.dragging .canvas-holder{opacity:.35;transition:opacity .15s ease}.card{background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 92%,var(--sky-soft)) 0%,var(--paper) 100%);border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);border-radius:20px;padding:1rem 1.05rem;box-shadow:var(--shadow-soft)}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}.card-title{font-family:Fredoka,sans-serif;font-weight:600;font-size:.92rem;display:flex;align-items:center;gap:.35rem}.ad-slot{display:none;min-height:90px;border:2px dashed var(--ink-muted);border-radius:12px;background:var(--paper);color:var(--ink-muted);font-family:Fredoka,sans-serif;font-size:.75rem;align-items:center;justify-content:center;text-align:center}body[data-ads=on] .ad-slot{display:flex}.footer-info{padding:2rem 1rem 3rem;max-width:720px;margin:0 auto}.view-studio .footer-info{display:none}.footer-info h2{font-family:Fredoka,sans-serif;font-weight:700;font-size:1.35rem;text-align:center;margin-bottom:.5rem}.footer-info>p{text-align:center;font-family:Fredoka,sans-serif;font-weight:500;color:var(--ink-soft);margin-bottom:1.25rem;font-size:.85rem}.faq{background:color-mix(in srgb,var(--paper) 95%,var(--sky-soft));border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);border-radius:18px;margin-bottom:.6rem;box-shadow:var(--shadow-soft);overflow:hidden}.faq summary{padding:.6rem .9rem;font-family:Fredoka,sans-serif;font-weight:600;font-size:.88rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:1.2rem;font-weight:600;color:var(--coral-deep);transition:transform .2s ease}.faq[open] summary:after{transform:rotate(45deg)}.faq-body{padding:0 .9rem .7rem;font-size:.82rem;color:var(--ink-soft);line-height:1.5}.contact-card{margin:2rem auto 0;max-width:480px;padding:1.1rem 1.4rem 1.3rem;text-align:center;background:color-mix(in srgb,var(--teal, #78DEF4) 30%,var(--paper, #FFF7E0));border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);border-radius:22px;box-shadow:var(--shadow-pop);transform:rotate(-.6deg);transition:transform .35s var(--ease-back)}.contact-card:hover{transform:rotate(.4deg) translateY(-2px)}.contact-title{margin:0 0 .35rem;font-family:Fredoka,sans-serif;font-weight:700;font-size:1.05rem;color:var(--ink)}.contact-body{margin:0 0 .9rem;font-family:Nunito,sans-serif;font-size:.9rem;color:var(--ink-soft, var(--ink));line-height:1.5}.contact-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;background:var(--sun, #FFDD00);color:var(--ink);border:2.5px solid var(--ink);border-radius:999px;box-shadow:3px 3px 0 var(--ink);font-family:Fredoka,sans-serif;font-weight:600;text-decoration:none;transition:transform .25s var(--ease-back),box-shadow .25s var(--ease-back)}.contact-btn:hover{transform:translate(-2px,-2px) rotate(-2deg);box-shadow:5px 5px 0 var(--ink)}.foot-credit{text-align:center;margin:1.5rem auto 0;max-width:var(--content-w);padding:0 1rem calc(2rem + env(safe-area-inset-bottom));font-family:Fredoka,sans-serif;font-size:.72rem;color:var(--ink-muted)}.foot-version{display:inline-block;margin-left:.5rem;opacity:.6;font-family:JetBrains Mono,monospace;font-size:.68rem}.foot-legal{display:block;margin-top:.6rem;font-size:.72rem}.foot-legal a{color:var(--ink-muted);text-decoration:underline;text-underline-offset:2px}.foot-legal a:hover{color:var(--ink)}.foot-legal span{margin:0 .4rem;opacity:.5}.toast{position:fixed;bottom:1rem;left:50%;transform:translate(-50%,20px);background:var(--ink);color:var(--cream);padding:.55rem 1rem;border-radius:100px;font-family:Fredoka,sans-serif;font-size:.82rem;font-weight:500;box-shadow:3px 3px #2b1e0f4d;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:400}.toast.show{opacity:1;transform:translate(-50%)}.upload-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.6rem .9rem;background:var(--brand-grad-warm);background-image:linear-gradient(to right,rgba(43,30,15,.18) .6px,transparent .6px),linear-gradient(to bottom,rgba(43,30,15,.18) .6px,transparent .6px);background-size:8px 8px;color:var(--ink);font-family:Fredoka,sans-serif;font-weight:600;font-size:.9rem;border:1px solid color-mix(in srgb,var(--ink) 24%,transparent);border-radius:16px;cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .22s var(--ease-back),box-shadow .22s var(--ease-back),background-color .15s ease,filter .2s ease}.upload-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 10px 20px #6f8db53d;background-color:var(--sun-deep);filter:saturate(1.05)}.upload-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.upload-filename{font-size:.72rem;color:var(--ink-muted);font-family:Fredoka,sans-serif;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slider-group{display:flex;flex-direction:column;gap:.3rem}.slider-label{display:flex;align-items:center;justify-content:space-between;font-family:Fredoka,sans-serif;font-size:.78rem;color:var(--ink-soft)}.slider-label-name{display:inline-flex;align-items:center;gap:.3rem;font-weight:500}.slider-val{font-family:JetBrains Mono,monospace;font-weight:600;font-size:.8rem;color:var(--ink);background:color-mix(in srgb,var(--sun) 55%,white);border:1px solid color-mix(in srgb,var(--ink) 24%,transparent);padding:2px 8px;border-radius:10px;min-width:32px;text-align:center}input[type=range]{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;height:24px;cursor:pointer;padding:0}input[type=range]::-webkit-slider-runnable-track{height:7px;background:color-mix(in srgb,var(--cream) 65%,white);border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);border-radius:999px}input[type=range]::-moz-range-track{height:7px;background:color-mix(in srgb,var(--cream) 65%,white);border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);border-radius:999px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:color-mix(in srgb,var(--coral) 72%,white);border:1px solid color-mix(in srgb,var(--ink) 28%,transparent);border-radius:50%;margin-top:-6px;cursor:grab;box-shadow:0 4px 10px #6f8db53d}input[type=range]::-moz-range-thumb{width:18px;height:18px;background:var(--coral);border:1px solid color-mix(in srgb,var(--ink) 28%,transparent);border-radius:50%;cursor:grab;box-shadow:0 4px 10px #6f8db53d}@media (pointer: coarse){input[type=range]{height:32px}input[type=range]::-webkit-slider-thumb{width:28px;height:28px;margin-top:-11px}input[type=range]::-moz-range-thumb{width:28px;height:28px}}.toggles{display:flex;flex-wrap:wrap;gap:.3rem}.toggle{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .55rem;background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 24%,transparent);border-radius:999px;font-family:Fredoka,sans-serif;font-size:.73rem;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .12s ease}.toggle input{display:none}.toggle .tgl-dot{width:10px;height:10px;border:1.5px solid var(--ink);border-radius:3px;background:var(--paper);transition:background .12s ease;flex-shrink:0}.toggle.on{background:linear-gradient(180deg,color-mix(in srgb,var(--lime) 72%,white) 0%,var(--lime) 100%)}.toggle.on .tgl-dot{background:var(--ink)}.toggle-grid{gap:.35rem;padding-right:.35rem}.grid-col-picker{display:inline-flex;align-items:center;gap:2px;margin-left:.15rem;padding:2px;background:var(--paper);border:1.5px solid var(--ink);border-radius:100px}.grid-col{width:14px;height:14px;padding:0;border:1.5px solid var(--ink);border-radius:50%;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;box-shadow:none}.grid-col-dark{background:var(--ink)}.grid-col-light{background:#fff}.grid-col:hover{transform:scale(1.1)}.grid-col.active{box-shadow:0 0 0 2px var(--sun),0 0 0 3.5px var(--ink)}.toggle:not(.on) .grid-col-picker{opacity:.45;pointer-events:none}.brush-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.3rem;min-width:0}.brush-btn{position:relative;aspect-ratio:1;min-width:0;background:color-mix(in srgb,var(--paper) 92%,var(--sky-soft));border:1px solid color-mix(in srgb,var(--ink) 24%,transparent);border-radius:14px;cursor:pointer;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Fredoka,sans-serif;font-weight:600;box-shadow:var(--shadow-soft);transition:transform .22s var(--ease-back),box-shadow .22s var(--ease-back),background .12s ease}.brush-btn:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 12px 18px #6f8db53d}.brush-btn.active{background:color-mix(in srgb,var(--coral) 58%,white);color:var(--ink);box-shadow:0 8px 18px #f18e9647;transform:none}.brush-dot{background:var(--ink);border-radius:2px;flex-shrink:0}.brush-px{font-size:.6rem;color:var(--ink-soft);margin-top:.15rem;line-height:1}.brush-btn.active .brush-px{color:var(--ink);font-weight:700}.brush-meta{font-family:Fredoka,sans-serif;font-size:.72rem;color:var(--ink-soft);padding:.3rem .5rem;background:var(--cream);border-radius:8px;border:1.5px dashed var(--ink);text-align:center}.brush-hint{font-family:Fredoka,sans-serif;font-size:.66rem;font-weight:500;color:var(--ink-muted);text-align:center;letter-spacing:.02em;margin-top:-.1rem}.preset-row{display:flex;flex-wrap:wrap;gap:.3rem}.card-actions{display:flex;gap:.35rem}.action-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .6rem;background:var(--paper);color:var(--ink);border:1.5px solid var(--ink);border-radius:100px;font-family:Fredoka,sans-serif;font-size:.74rem;font-weight:600;cursor:pointer;transition:transform .22s var(--ease-back),box-shadow .22s var(--ease-back),background .12s ease;box-shadow:1.5px 1.5px 0 var(--ink)}.action-btn:hover{background:var(--sun);transform:translate(-2px,-2px) rotate(-1.5deg);box-shadow:3px 3px 0 var(--ink)}.action-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.action-btn .action-ico{font-size:.9rem;line-height:1}.preset-btn{padding:.3rem .65rem;background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 24%,transparent);border-radius:999px;font-family:Fredoka,sans-serif;font-size:.73rem;font-weight:500;cursor:pointer;color:var(--ink);transition:transform .2s var(--ease-back),box-shadow .2s var(--ease-back),background .12s ease;box-shadow:0 4px 10px #6f8db529}.preset-btn:hover{background:var(--cream);transform:translateY(-1px) scale(1.02);box-shadow:0 8px 14px #6f8db538}.preset-btn.active{background:linear-gradient(180deg,color-mix(in srgb,var(--violet) 82%,white) 0%,var(--violet) 100%);font-weight:600}#brush-mode-row .preset-btn.active{background:linear-gradient(180deg,color-mix(in srgb,var(--sky) 78%,white) 0%,var(--sky) 100%)}.palette-display.pal-focused .pal-cell,.palette-display.pal-focused .swatch{transition:opacity .12s ease,filter .12s ease}.palette-display.pal-focused .pal-cell:not(.is-focused),.palette-display.pal-focused .swatch:not(.is-focused){opacity:.55;filter:grayscale(.3) drop-shadow(0 1px 1px rgba(43,30,15,.12))}.palette-display.pal-focused .pal-cell.is-focused{z-index:5;filter:brightness(1.05) drop-shadow(0 3px 5px rgba(43,30,15,.45))}.palette-display.pal-focused .swatch.is-focused{background:var(--sun);box-shadow:2.5px 2.5px 0 var(--ink)}.palette-display{display:flex;flex-wrap:wrap;gap:.4rem}.pal-game{display:flex;gap:10px;align-items:stretch;flex-wrap:nowrap;width:100%}.pal-main{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:6px;width:calc((100% - 10px - 2px - 10px) * 11 / 12);flex:0 0 auto;min-width:0}.pal-side{display:grid;grid-template-rows:repeat(7,1fr);grid-template-columns:minmax(0,1fr);gap:6px;width:calc((100% - 10px - 2px - 10px) / 12);flex:0 0 auto;min-width:0;padding-left:10px;border-left:2px dashed var(--ink);box-sizing:content-box}.pal-cell{position:relative;aspect-ratio:1;width:100%;background:transparent;border:none;padding:0;cursor:pointer;filter:drop-shadow(0 1px 1px rgba(43,30,15,.12));-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.pal-cell .pal-svg{width:100%;height:100%;display:block;overflow:visible}.pal-cell .pal-plate{fill:#fff6dc;stroke:#2b1e0f47;stroke-width:2}.pal-cell .pal-blob{fill:var(--chip)}.pal-cell:hover{z-index:2;filter:brightness(1.08) drop-shadow(0 2px 3px rgba(43,30,15,.35))}.pal-cell.used{z-index:3;filter:drop-shadow(0 2px 3px rgba(43,30,15,.32))}.pal-cell.used .pal-plate{stroke:var(--ink);stroke-width:2.5}.pal-cell.used .pal-blob{stroke:var(--ink);stroke-width:2.5;stroke-linejoin:round}.pal-rc{position:absolute;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:600;color:var(--ink);text-shadow:0 0 2px #FFF6DC,0 0 2px #FFF6DC,1px 0 0 #FFF6DC,-1px 0 0 #FFF6DC,0 1px 0 #FFF6DC,0 -1px 0 #FFF6DC;pointer-events:none;z-index:3;letter-spacing:-.02em}.pal-cell.used .pal-rc{display:flex}.pal-num{position:absolute;top:-4%;left:-4%;min-width:44%;height:44%;padding:0 4px;background:var(--sun);border:1.8px solid var(--ink);border-radius:100px;display:none;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:.6rem;font-weight:700;color:var(--ink);pointer-events:none;box-shadow:1px 1px #2b1e0f73;z-index:4;line-height:1}.palette-display.show-numbers .pal-cell.used .pal-num{display:flex}.pal-check{position:absolute;right:-6%;bottom:-6%;width:44%;height:44%;background:#2b1e0f;border:2.5px solid #FFF6DC;border-radius:50%;display:none;align-items:center;justify-content:center;pointer-events:none;box-shadow:1px 1px #2b1e0f73;z-index:4}.pal-check svg{width:62%;height:62%;display:block}.pal-cell.used .pal-check{display:flex}.pal-legend{font-family:Fredoka,sans-serif;font-size:.72rem;color:var(--ink-muted);display:flex;gap:.5rem;align-items:center;margin-top:.7rem;flex-basis:100%}.pal-legend-chip{position:relative;width:24px;height:24px;flex-shrink:0}.pal-legend-svg{width:100%;height:100%;display:block;overflow:visible}.pal-legend-plate{fill:#fff6dc;stroke:var(--ink);stroke-width:3.5}.pal-legend-blob{fill:var(--teal);stroke:var(--ink);stroke-width:3.5;stroke-linejoin:round}.pal-legend-check{position:absolute;right:-8%;bottom:-8%;width:50%;height:50%;background:#2b1e0f;border:1.8px solid #FFF6DC;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:1px 1px #2b1e0f73}.pal-legend-check svg{width:65%;height:65%;display:block}.swatch{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;padding:.4rem .4rem .35rem;background:var(--paper);border:1.5px solid var(--ink);border-radius:14px;box-shadow:1.5px 1.5px 0 var(--ink);transition:transform .22s var(--ease-back),box-shadow .22s var(--ease-back);min-width:112px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.swatch:hover{transform:translate(-2px,-2px) rotate(-1deg);box-shadow:3px 3px 0 var(--ink)}.swatch-head{display:flex;align-items:center;gap:4px;width:100%;justify-content:center}.swatch-num{font-family:JetBrains Mono,monospace;font-size:.58rem;font-weight:700;color:var(--ink);background:var(--sun);border:1.2px solid var(--ink);border-radius:100px;min-width:16px;height:16px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.swatch-box{width:32px;height:32px;border:1.5px solid var(--ink);border-radius:8px;box-shadow:inset 0 3px #ffffff47,inset 0 -2px #2b1e0f24}.swatch-hex{font-family:JetBrains Mono,monospace;font-size:.6rem;font-weight:600;color:var(--ink)}.swatch-hsb{font-family:JetBrains Mono,monospace;font-size:.54rem;color:var(--ink-muted);line-height:1}.swatch-picker{width:100px;height:72px;border:1.5px solid var(--ink);border-radius:4px;display:block;background:var(--paper);overflow:visible}.landing{display:none}.view-landing .landing{display:block}.view-landing .app,.view-studio .landing{display:none}.landing{padding:2.5rem 1.25rem 4rem;max-width:760px;margin:0 auto;position:relative}.landing-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.75rem}.landing-blob-wrap{position:relative;z-index:1;width:min(490px,92%);height:clamp(200px,40vw,270px);display:flex;align-items:center;justify-content:center;padding-top:4%}.landing-blob{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-2deg);z-index:0;filter:drop-shadow(5px 6px 0 var(--ink));overflow:visible;pointer-events:none}.landing-blob .blob-fill{fill:color-mix(in srgb,var(--sky) 62%,white);stroke:none}.landing-blob .blob-grid-overlay{fill:url(#blob-grid);stroke:none}.landing-blob .blob-outline{fill:none;stroke:var(--ink);stroke-width:4.5;stroke-linejoin:round}.landing-sticker-badge{position:relative;z-index:3;display:inline-flex;flex-direction:column;align-items:center;padding:.7rem 1.5rem .65rem;background:var(--paper);color:var(--ink);border:3px solid var(--ink);border-radius:22px;font-family:Fredoka,sans-serif;letter-spacing:.01em;box-shadow:4px 4px 0 var(--ink);line-height:1.1;white-space:nowrap;margin-top:-2.25rem;margin-bottom:0}.landing-sticker-game{font-weight:700;font-size:1.15rem;color:var(--ink)}.landing-sticker-sub{font-weight:500;font-size:.82rem;color:var(--ink-soft);margin-top:.2rem;text-transform:uppercase;letter-spacing:.09em}.landing-title{position:relative;z-index:2;font-family:Fredoka,sans-serif;display:flex;flex-direction:column;align-items:center;gap:.1em;margin:0}.lt-prefix{font-weight:600;font-size:clamp(1.3rem,3.8vw,1.8rem);color:var(--ink);letter-spacing:-.01em;transform:rotate(-1.5deg)}.lt-main{font-weight:700;font-size:clamp(2.05rem,7.6vw,3.45rem);line-height:1.05;color:var(--ink);letter-spacing:-.02em;text-shadow:0 2px 0 var(--paper),4px 4px 0 rgba(43,30,15,.22)}.lt-grid{display:inline-flex;align-items:flex-end;gap:.02em;font-weight:700;font-size:clamp(4rem,13vw,6.5rem);line-height:.9;padding:0 .1em}.lt-grid>span{position:relative;display:inline-block;color:var(--letter, var(--sun));-webkit-text-fill-color:var(--letter, var(--sun));filter:drop-shadow(0 2px 0 var(--paper)) drop-shadow(5px 5px 0 var(--ink)) drop-shadow(7px 9px 0 rgba(255,140,121,.45));transform:rotate(var(--rot, 0deg)) translateY(var(--ty, 0));transition:transform .3s var(--ease-back)}.lt-grid>span:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;color:var(--ink);-webkit-text-fill-color:var(--ink);-webkit-text-stroke:3px var(--ink)}.lt-grid>span[data-c=coral]:before{content:"G"}.lt-grid>span[data-c=teal]:before{content:"r"}.lt-grid>span[data-c=violet]:before{content:"i"}.lt-grid>span[data-c=sun]:before{content:"d"}.lt-grid>span[data-c=coral]{--letter: var(--coral);--rot: -5deg;--ty: -2px}.lt-grid>span[data-c=teal]{--letter: var(--teal);--rot: 3deg;--ty: 4px}.lt-grid>span[data-c=violet]{--letter: var(--violet);--rot: -3deg;--ty: -1px}.lt-grid>span[data-c=sun]{--letter: var(--sky);--rot: 4deg;--ty: 3px}.lt-grid:hover>span{transform:rotate(var(--rot, 0deg)) translateY(calc(var(--ty, 0) - 4px))}.lt-grid-tiny{font-size:1.5rem;line-height:1;padding:0;gap:0;align-items:baseline}.lt-grid-tiny>span{color:var(--letter, var(--sun));-webkit-text-fill-color:var(--letter, var(--sun));background:none;-webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill;filter:drop-shadow(2px 2px 0 rgba(43,30,15,.28))}.lt-grid-tiny>span:before{content:none}.lt-grid-tiny>span[data-c=coral]{--ty: -1px}.lt-grid-tiny>span[data-c=teal]{--ty: 1px}.lt-grid-tiny>span[data-c=violet]{--ty: -1px}.lt-grid-tiny>span[data-c=sun]{--ty: 1px}.landing-sparkle{position:absolute;z-index:1;font-family:Fredoka,sans-serif;font-size:1.6rem;filter:drop-shadow(2px 2px 0 var(--ink));pointer-events:none;-webkit-user-select:none;user-select:none}.landing-sparkle-1{top:.2rem;left:6%;transform:rotate(-12deg)}.landing-sparkle-2{top:1.2rem;right:8%;transform:rotate(14deg);color:var(--coral)}.landing-sparkle-3{top:8.5rem;left:4%;transform:rotate(8deg);color:var(--pink)}.landing-sparkle-4{top:7.5rem;right:5%;transform:rotate(-10deg);color:var(--violet)}.landing-tag{position:relative;z-index:2;font-family:Fredoka,sans-serif;font-weight:500;font-size:clamp(.95rem,2.2vw,1.08rem);color:var(--ink-soft);max-width:580px;line-height:1.5;margin-top:0}.landing-tag em{font-style:normal;background:var(--paper);border:1.5px solid var(--ink);border-radius:6px;padding:0 .35em;font-weight:600;color:var(--ink)}.landing-drop{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.45rem;width:min(100%,520px);padding:2rem 1.5rem;background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 86%,var(--sky-soft)) 0%,var(--paper) 100%);border:2px dashed color-mix(in srgb,var(--ink) 32%,transparent);border-radius:28px;cursor:pointer;color:var(--ink);box-shadow:var(--shadow-soft);transition:background-color .15s ease,transform .25s var(--ease-back),border-color .15s ease}.landing-drop:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--cream) 84%,white) 0%,var(--cream) 100%);transform:translateY(-2px) scale(1.01)}.landing-drop.is-dragging{background:var(--brand-grad-warm);border-style:solid;transform:translateY(-2px) scale(1.01)}.landing-drop-ico{width:2rem;height:2rem;color:var(--ink);display:block}.landing-drop-title{font-family:Fredoka,sans-serif;font-weight:700;font-size:1.1rem;line-height:1.2}.landing-drop-hint{font-family:Fredoka,sans-serif;font-weight:500;color:var(--ink-muted);font-size:.8rem}.landing-demo{position:relative;z-index:2;padding:.55rem 1rem;background:var(--brand-grad-sky);color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 28%,transparent);border-radius:999px;font-family:Fredoka,sans-serif;font-weight:600;font-size:.9rem;cursor:pointer;transition:transform .22s var(--ease-back),box-shadow .22s var(--ease-back),background .12s ease;box-shadow:var(--shadow-soft)}.landing-demo:hover{background:var(--brand-grad-warm);transform:translateY(-2px) scale(1.03);box-shadow:0 12px 20px #6f8db542}.landing-privacy{position:relative;z-index:2;display:inline-flex;align-items:center;gap:.5rem;max-width:520px;padding:.7rem 1rem;background:#d3ecb6;background:color-mix(in srgb,var(--lime) 45%,var(--paper));border:1px solid color-mix(in srgb,var(--ink) 26%,transparent);border-radius:16px;font-family:Fredoka,sans-serif;font-weight:500;font-size:.84rem;color:var(--ink);line-height:1.4;text-align:left;box-shadow:var(--shadow-soft)}.landing-privacy-ico{font-size:1rem;flex-shrink:0}.landing-features{list-style:none;padding:0;margin:.5rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.65rem;width:100%;max-width:640px;position:relative;z-index:2}.landing-features li{background:color-mix(in srgb,var(--paper) 94%,var(--sky-soft));border:1px solid color-mix(in srgb,var(--ink) 24%,transparent);border-radius:18px;padding:.85rem 1rem;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:.2rem;text-align:left;transition:transform .3s var(--ease-back),box-shadow .3s var(--ease-back)}.landing-features li:nth-child(1){transform:rotate(-1deg)}.landing-features li:nth-child(3){transform:rotate(1deg)}.landing-features li:hover{transform:rotate(0) translateY(-2px) scale(1.01);box-shadow:0 14px 22px #6f8db53d}.landing-features li:nth-child(1):hover{transform:rotate(-1.2deg) translateY(-2px) scale(1.01)}.landing-features li:nth-child(3):hover{transform:rotate(1.2deg) translateY(-2px) scale(1.01)}.landing-features li b{font-family:Fredoka,sans-serif;font-weight:700;font-size:.92rem;color:var(--ink)}.landing-features li span{font-family:Fredoka,sans-serif;font-weight:500;font-size:.78rem;color:var(--ink-soft);line-height:1.35}@media (max-width: 520px){.landing{padding:1rem .9rem 2.5rem}.landing-sparkle{font-size:1.2rem}.landing-sparkle-3,.landing-sparkle-4{top:6rem}.landing-drop{padding:1.4rem 1rem}}.topbar-help{padding:.3rem .75rem;border:1px solid color-mix(in srgb,var(--ink) 26%,transparent);border-radius:999px;background:var(--paper);color:var(--ink);font-family:Fredoka,sans-serif;font-weight:700;font-size:.82rem;line-height:1;cursor:pointer;box-shadow:var(--shadow-soft);margin-right:.1rem;transition:transform .22s var(--ease-back),box-shadow .22s var(--ease-back),background .12s ease}.topbar-help:hover{background:var(--sun);transform:translateY(-2px) scale(1.03);box-shadow:0 10px 18px #6f8db53d}.topbar-help:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.topbar-help .help-short{display:none}.adj-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem;margin-top:.1rem}.adj-btn{padding:.35rem .1rem;background:var(--paper);color:var(--ink);border:1.5px solid var(--ink);border-radius:8px;font-family:Fredoka,sans-serif;font-weight:600;font-size:.72rem;cursor:pointer;box-shadow:1.5px 1.5px 0 var(--ink);transition:transform .22s var(--ease-back),box-shadow .22s var(--ease-back),background .12s ease;line-height:1}.adj-btn:hover{background:var(--cream);transform:translate(-2px,-2px);box-shadow:3.5px 3.5px 0 var(--ink)}.adj-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.adj-btn.active{background:var(--lime);box-shadow:inset 0 0 0 2px var(--ink);transform:none}.adj-slider{margin-top:.1rem}.adj-reset{align-self:flex-end;padding:.3rem .65rem;background:transparent;color:var(--ink-soft);border:1.5px dashed var(--ink-muted);border-radius:100px;font-family:Fredoka,sans-serif;font-size:.7rem;font-weight:500;cursor:pointer;transition:color .1s ease,border-color .1s ease}.adj-reset:hover{color:var(--ink);border-color:var(--ink)}.upload-replace-wrap{margin-top:.5rem;padding-top:.6rem;border-top:1.5px dashed rgba(43,30,15,.2);display:flex;flex-direction:column;gap:.3rem}.upload-replace{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.4rem .75rem;background:var(--paper);color:var(--ink-soft);border:1.5px dashed var(--ink-muted);border-radius:100px;font-family:Fredoka,sans-serif;font-weight:600;font-size:.78rem;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.upload-replace:hover{color:var(--ink);border-color:var(--ink);border-style:solid;background:var(--cream)}.upload-replace span{font-size:.95rem;line-height:1}.pal-ban{position:absolute;left:-6%;bottom:-6%;width:44%;height:44%;background:var(--coral-deep);color:#fffdf6;border:2.5px solid #FFF6DC;border-radius:50%;display:none;align-items:center;justify-content:center;font-family:Fredoka,sans-serif;font-weight:700;font-size:.7em;pointer-events:none;box-shadow:1px 1px #2b1e0f73;z-index:4}.pal-cell.excluded .pal-ban{display:flex}.pal-cell.excluded{filter:grayscale(.8);opacity:.55}.pal-cell.excluded .pal-blob{opacity:.5}.swatch.excluded{opacity:.55;filter:grayscale(.6)}.swatch .swatch-box{position:relative}.swatch-ban{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;display:none;align-items:center;justify-content:center;background:#f9555cd9;color:#fffdf6;border:1.5px solid var(--ink);border-radius:8px;font-family:Fredoka,sans-serif;font-weight:800;font-size:1.2rem;pointer-events:none}.swatch.excluded .swatch-ban{display:flex}.excluded-strip{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;padding:.5rem .6rem;margin-bottom:.6rem;background:color-mix(in srgb,var(--coral) 15%,var(--paper));border:1.5px dashed var(--coral-deep);border-radius:10px;flex-basis:100%}.excluded-strip-title{font-family:Fredoka,sans-serif;font-weight:700;font-size:.72rem;color:var(--ink);letter-spacing:.02em}.excluded-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .5rem;background:var(--paper);border:1.5px solid var(--ink);border-radius:100px;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600;cursor:pointer;color:var(--ink);box-shadow:1px 1px 0 var(--ink);transition:transform .22s var(--ease-back),box-shadow .22s var(--ease-back)}.excluded-chip:hover{transform:translate(-2px,-2px) rotate(-2deg);box-shadow:2.5px 2.5px 0 var(--ink);background:var(--sun)}.excluded-chip-dot{width:12px;height:12px;border:1.2px solid var(--ink);border-radius:3px}.excluded-chip-x{font-family:Fredoka,sans-serif;color:var(--coral-deep);font-weight:700}.excluded-clear{margin-left:auto;padding:.2rem .6rem;background:var(--coral-deep);color:#fffdf6;border:1.5px solid var(--ink);border-radius:100px;font-family:Fredoka,sans-serif;font-size:.7rem;font-weight:700;cursor:pointer;box-shadow:1px 1px 0 var(--ink)}.excluded-clear:hover{background:#ce3a40;transform:translate(-1px,-1px);box-shadow:2px 2px 0 var(--ink)}.pal-cell.completed:not(.excluded){opacity:.45;filter:saturate(.6)}.pal-cell.completed:not(.excluded) .pal-blob{opacity:.7}.swatch.completed:not(.excluded){opacity:.5;filter:saturate(.6)}.swatch.completed:not(.excluded) .swatch-box:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top right,transparent calc(50% - 1.5px),var(--ink) calc(50% - 1.5px),var(--ink) calc(50% + 1.5px),transparent calc(50% + 1.5px));pointer-events:none}.swatch.completed:not(.excluded) .swatch-hex{text-decoration:line-through}.swatch-menu{position:fixed;z-index:1200;min-width:180px;padding:.35rem;background:var(--paper);border:1.5px solid var(--ink);border-radius:10px;box-shadow:3px 3px 0 var(--ink);display:none;font-family:Fredoka,sans-serif}.swatch-menu.show{display:block}.swatch-menu-head{display:flex;align-items:center;gap:.4rem;padding:.25rem .5rem .35rem;border-bottom:1px dashed var(--ink-muted);margin-bottom:.3rem}.swatch-menu-dot{width:14px;height:14px;border:1.2px solid var(--ink);border-radius:3px}.swatch-menu-hex{font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600;color:var(--ink)}.swatch-menu-item{display:block;width:100%;text-align:left;padding:.4rem .55rem;background:transparent;border:none;border-radius:6px;font-family:Fredoka,sans-serif;font-size:.8rem;font-weight:600;color:var(--ink);cursor:pointer}.swatch-menu-item:hover{background:var(--cream)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#2b1e0f73;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,visibility .15s}.modal-backdrop.show{opacity:1;visibility:visible;pointer-events:auto}.modal-card{position:relative;background:var(--paper);border:2.5px solid var(--ink);border-radius:16px;box-shadow:var(--shadow-pop);max-width:560px;width:100%;max-height:calc(100dvh - 2rem);overflow:auto;padding:1.3rem 1.4rem 1.4rem;transform:translateY(10px) scale(.96);transition:transform .32s var(--ease-back)}.modal-backdrop.show .modal-card{transform:translateY(0) scale(1)}.modal-close{position:absolute;top:.6rem;right:.6rem;width:30px;height:30px;background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:100px;font-family:Fredoka,sans-serif;font-weight:700;font-size:.85rem;cursor:pointer;box-shadow:1.5px 1.5px 0 var(--ink);display:inline-flex;align-items:center;justify-content:center;padding:0}.modal-close{transition:transform .3s var(--ease-back),box-shadow .3s var(--ease-back),background .15s ease}.modal-close:hover{background:var(--coral);transform:rotate(90deg);box-shadow:2.5px 2.5px 0 var(--ink)}.modal-card h2{margin:0 0 .35rem;font-family:Fredoka,sans-serif;font-weight:700;font-size:1.3rem;color:var(--ink)}.modal-sub{margin:0 0 1rem;font-family:Nunito,sans-serif;font-size:.85rem;color:var(--ink-soft);line-height:1.45}.shortcuts-group{margin-bottom:.9rem}.shortcuts-group h3{margin:0 0 .4rem;font-family:Fredoka,sans-serif;font-weight:700;font-size:.7rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.1em}.shortcuts-group dl{margin:0;display:grid;grid-template-columns:1fr;gap:.25rem}.shortcuts-group dl>div{display:grid;grid-template-columns:max-content 1fr;align-items:baseline;column-gap:.9rem;padding:.3rem 0;border-bottom:1px dashed rgba(43,30,15,.12)}.shortcuts-group dl>div:last-child{border-bottom:none}.shortcuts-group dt{margin:0}.shortcuts-group dd{margin:0;font-family:Fredoka,sans-serif;font-size:.84rem;color:var(--ink);line-height:1.35}.shortcuts-group kbd{display:inline-block;background:var(--cream);color:var(--ink);border:1.5px solid var(--ink);border-radius:6px;box-shadow:1.5px 1.5px 0 var(--ink);padding:.15rem .45rem;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600;white-space:nowrap}@media (max-width: 520px){.adj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shortcuts-group dl>div{grid-template-columns:1fr;row-gap:.15rem}.shortcuts-group dt{margin-bottom:.1rem}}.studio-extras{max-width:var(--content-w);margin:1.1rem auto 0;padding:0 1rem}.studio-extras-inner{display:flex;flex-direction:column;gap:.8rem}.studio-extra-panel{background:color-mix(in srgb,var(--paper) 90%,var(--sky-soft));border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);border-radius:20px;padding:1rem 1.1rem;box-shadow:var(--shadow-soft)}.studio-extra-head{margin-bottom:.55rem}.studio-extra-head h2{margin:0;font-family:Fredoka,sans-serif;font-weight:700;font-size:1rem;color:var(--ink)}.studio-extra-head p{margin:.16rem 0 0;font-size:.84rem;color:var(--ink-soft)}.studio-feature-grid,.studio-step-grid,.studio-tip-grid{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.studio-feature-card,.studio-step-card,.studio-tip-card{background:color-mix(in srgb,var(--paper) 84%,var(--cream));border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:16px;padding:.85rem .95rem;box-shadow:0 6px 14px #6f8db51f}.studio-feature-card h3,.studio-step-card h3,.studio-tip-card h3{margin:0;font-family:Fredoka,sans-serif;font-weight:600;font-size:.84rem;color:var(--ink);line-height:1.3}.studio-feature-card p,.studio-step-card p,.studio-tip-card p{margin:.24rem 0 0;font-size:.77rem;color:var(--ink-soft);line-height:1.4}.studio-step-index{display:inline-flex;align-items:center;justify-content:center;margin-bottom:.32rem;padding:.13rem .45rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--ink) 24%,transparent);background:var(--sun-soft);font-family:Fredoka,sans-serif;font-size:.67rem;font-weight:700;letter-spacing:.02em;color:var(--ink)}@media (max-width: 840px){.studio-extras{margin-top:.85rem;padding:0 .75rem}.studio-extra-panel{padding:.72rem .78rem;border-radius:12px}.studio-feature-grid,.studio-step-grid,.studio-tip-grid{grid-template-columns:1fr}}@media (max-width: 840px){:root{--sidebar-w: 100%}.app{grid-template-columns:1fr}.topbar-nav{gap:.2rem;font-size:.78rem}}@media (max-width: 480px){.topbar-help .help-full{display:none}.topbar-help .help-short{display:inline}.topbar-help{padding:.25rem .55rem;font-size:.95rem;min-width:1.8rem}}@media (max-width: 840px){.sidebar{position:static;border-right:none;padding:.6rem .75rem .5rem;gap:.55rem;max-height:none}.brush-btn{aspect-ratio:auto;height:64px}.sb-extras{display:flex;flex-direction:column;gap:.5rem}.sb-extras-toggle{display:inline-flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:var(--paper);color:var(--ink);border:1.5px solid var(--ink);border-radius:12px;font-family:Fredoka,sans-serif;font-weight:600;font-size:.82rem;cursor:pointer;box-shadow:1.5px 1.5px 0 var(--ink);transition:background .12s ease}.sb-extras-toggle:hover{background:var(--sun)}.sb-extras-label{font-weight:700}.sb-extras-hint{font-weight:500;font-size:.7rem;color:var(--ink-soft);letter-spacing:.02em}.sb-extras-caret{margin-left:auto;font-size:.75rem;transition:transform .18s ease}.sb-extras-toggle[aria-expanded=true] .sb-extras-caret{transform:rotate(180deg)}.sb-extras-body{display:none;flex-direction:column;gap:.75rem;padding:.15rem .1rem .25rem}.sb-extras-toggle[aria-expanded=true]+.sb-extras-body{display:flex}.main{padding:.75rem;gap:.75rem}.workshop-header{padding:.5rem .6rem;gap:.5rem}.wh-stats,.wh-recipe{flex-shrink:1;min-width:0}.workshop-header>.wh-recipe{margin-left:0}.wh-chip b{font-size:.8rem}.stage-wrap{width:min(100%,55vh);width:min(100%,55dvh,55vh)}.stage{padding:.4rem}}@media (max-width: 380px){.topbar-brand{font-size:.95rem}.brand-dot{width:20px;height:20px}.hero-strip h1{font-size:.92rem}.cat-btn{font-size:1.1rem}.swatch-box{width:28px;height:28px}.stats-bar{grid-template-columns:repeat(2,1fr)}}
