:root{--text:#6b6375;--text-h:#08060d;--bg:#faf9fc;--card-bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-hover:#9522ea;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--success:#16a34a;--success-bg:#16a34a1a;--danger:#dc2626;--danger-bg:#dc262614;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--shadow-lg:#140a1e29 0 20px 40px -12px, #140a1e14 0 8px 16px -8px;--radius:14px;--shell-bg:#f6f4ee;--stage-bg:#ecebe2;--rail-active-bg:#14120a0f;--cta-bg:#c6f24e;--cta-hover:#b7e83a;--cta-text:#1c1e12;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/145% var(--sans);letter-spacing:.1px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#9ca3af;--text-h:#f3f4f6;--bg:#121218;--card-bg:#1a1b22;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-hover:#d3a4ff;--accent-bg:#c084fc26;--accent-border:#c084fc80;--success:#4ade80;--success-bg:#4ade801f;--danger:#f87171;--danger-bg:#f871711f;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--shadow-lg:#00000080 0 20px 40px -12px, #0000004d 0 8px 16px -8px;--shell-bg:#17181c;--stage-bg:#0f1013;--rail-active-bg:#ffffff14;--cta-bg:#c6f24e;--cta-hover:#d4f873;--cta-text:#14150d}}*{box-sizing:border-box}body{margin:0}#root{flex-direction:column;height:100svh;display:flex;overflow:hidden}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:600}p{margin:0}select,input,button{font:inherit;letter-spacing:inherit}.editor-shell{flex-direction:column;height:100%;display:flex}.editor-topbar{background:var(--card-bg);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:20px;height:60px;padding:0 20px;display:flex}.logotype{letter-spacing:-.4px;color:var(--text-h);white-space:nowrap;margin:0;font-size:19px;font-weight:700}.logotype .dot{color:var(--accent)}.topbar-history{gap:4px;display:flex}.topbar-model{margin-left:auto}.topbar-model select{border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;border-radius:8px;min-width:180px;padding:8px 12px;font-size:13px}.icon-btn{width:34px;height:34px;color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.icon-btn:hover:not(:disabled){background:var(--rail-active-bg)}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.btn-cta{background:var(--cta-bg);color:var(--cta-text);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:700;transition:background-color .15s;display:flex}.btn-cta:hover:not(:disabled){background:var(--cta-hover)}.btn-cta:disabled{opacity:.45;cursor:not-allowed}.feedback-widget{position:relative}.feedback-popover{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);width:280px;box-shadow:var(--shadow-lg);z-index:20;padding:14px;position:absolute;top:calc(100% + 8px);right:0}.feedback-popover-header{color:var(--text-h);justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px;font-size:13px;font-weight:600;display:flex}.feedback-popover-header .icon-btn{flex:none;width:22px;height:22px}.feedback-popover form{flex-direction:column;gap:8px;display:flex}.feedback-type-toggle{background:var(--bg);border:1px solid var(--border);border-radius:999px;gap:4px;padding:3px;display:flex}.feedback-type-toggle button{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;padding:6px 8px;font-size:12px}.feedback-type-toggle button.is-active{background:var(--card-bg);color:var(--text-h);box-shadow:var(--shadow);font-weight:600}.feedback-popover textarea,.feedback-popover input[type=email]{border:1px solid var(--border);background:var(--bg);color:var(--text-h);font-size:13px;font-family:var(--sans);resize:vertical;border-radius:8px;padding:8px 10px}.feedback-popover .btn-cta{justify-content:center}.feedback-error{color:var(--danger);margin:0;font-size:12px}.feedback-thanks{color:var(--text);margin:0;font-size:13px}.editor-body{flex:1;min-height:0;display:flex}.tool-rail{background:var(--shell-bg);border-right:1px solid var(--border);flex-direction:column;flex:none;order:0;align-items:stretch;gap:4px;width:84px;padding:16px 10px;display:flex;overflow-y:auto}.rail-btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;font-size:11px;font-weight:500;display:flex}.rail-btn:hover{background:var(--rail-active-bg)}.rail-btn.is-active{background:var(--card-bg);color:var(--text-h);box-shadow:var(--shadow)}.canvas-stage{background:var(--stage-bg);flex-direction:column;flex:1;order:2;display:flex;position:relative;overflow:hidden}.canvas-scroll-area{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex;overflow:auto}.canvas-frame{justify-content:center;align-items:center;min-width:260px;min-height:420px;display:flex;position:relative}.editor-canvas-frame{box-shadow:var(--shadow-lg);background:var(--card-bg);border-radius:18px;overflow:hidden}.canvas-hint{color:var(--text);opacity:.7;font-size:12px}.empty-hint{color:var(--text);text-align:center;pointer-events:none;justify-content:center;align-items:center;padding:0 40px;font-size:14px;display:flex;position:absolute;inset:0}.guides-toggle{color:var(--text);cursor:pointer;background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:flex;position:absolute;top:20px;left:20px}.canvas-scroll-area.is-pan-mode{cursor:grab}.canvas-scroll-area.is-pan-mode:active{cursor:grabbing}.zoom-controls{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;bottom:20px;left:20px}.zoom-btn{font-size:16px;font-weight:600}.zoom-btn.is-active{background:var(--text-h);color:var(--card-bg)}.zoom-readout{min-width:42px;color:var(--text-h);cursor:pointer;background:0 0;border:none;padding:4px 2px;font-size:12px;font-weight:600}.mini-preview{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:6px;padding:12px;display:flex;position:absolute;bottom:20px;right:20px}.mini-preview-title{text-transform:uppercase;letter-spacing:.6px;color:var(--text);font-size:10px;font-weight:600}.final-preview-canvas{border-radius:8px;display:block}.mockup-color-toggle{align-items:center;gap:4px;display:flex}.mockup-color-toggle button{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:10px;font-weight:600;transition:border-color .15s}.mockup-color-toggle button:hover{border-color:var(--text-h)}.mockup-color-toggle button.is-active{background:var(--text-h);color:var(--card-bg);border-color:var(--text-h)}.mockup-color-info{color:var(--text);opacity:.6;cursor:help;align-items:center;display:flex}.side-panel{background:var(--card-bg);border-left:1px solid var(--border);flex:none;order:3;width:340px;padding:20px;overflow-y:auto}.side-panel.is-left{border-left:none;border-right:1px solid var(--border);order:1}.panel-section{flex-direction:column;gap:14px;display:flex}.panel-title{text-transform:uppercase;letter-spacing:.6px;color:var(--text);font-size:12px;font-weight:600}.color-swatch-field{border:1px solid var(--border);background:var(--bg);border-radius:8px;align-items:center;gap:8px;padding:6px 10px;display:flex}.color-swatch-field span{color:var(--text-h);font-size:13px}.color-swatch-field .color-picker-trigger{width:28px;height:28px}.color-picker-anchor{flex:none;position:relative}.color-picker-trigger{border:1px solid var(--border);cursor:pointer;border-radius:6px;width:32px;height:30px;padding:0;transition:border-color .15s}.color-picker-trigger:hover{border-color:var(--accent)}.color-picker-popover{background:var(--card-bg);border:1px solid var(--border);width:200px;box-shadow:var(--shadow-lg);z-index:20;border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex;position:absolute;top:calc(100% + 8px);left:0}.color-picker-row{align-items:center;gap:8px;display:flex}.color-picker-row input[type=color]{border:1px solid var(--border);background:var(--bg);border-radius:6px;flex:none;width:28px;height:28px;padding:2px}.color-picker-hex{color:var(--text-h);font-size:13px}.eyedropper-btn{border:1px solid var(--border);background:var(--bg);width:28px;height:28px;color:var(--text-h);cursor:pointer;border-radius:6px;flex:none;justify-content:center;align-items:center;transition:border-color .15s;display:flex}.eyedropper-btn:hover{border-color:var(--accent)}.recent-swatches{flex-direction:column;gap:6px;display:flex}.recent-swatches-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text);font-size:11px;font-weight:600}.recent-swatches-row{flex-wrap:wrap;gap:6px;display:flex}.recent-swatch{border:1px solid var(--border);cursor:pointer;border-radius:5px;flex:none;width:20px;height:20px;padding:0}.field{flex-direction:column;gap:6px;display:flex}.field label{text-transform:uppercase;letter-spacing:.6px;color:var(--text);font-size:12px;font-weight:600}.field select,.field input[type=file]{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:9px 12px}.field select{cursor:pointer}.field input[type=file]{cursor:pointer;font-size:13px}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:11px 16px;font-weight:600;transition:background-color .15s}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;border-radius:8px;padding:9px 14px;font-size:13px;font-weight:600;transition:border-color .15s}.btn-secondary:hover{border-color:var(--accent)}.layers-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.layers-item{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-direction:column;display:flex}.layers-item.is-selected{border-color:var(--text-h)}.layers-item-row{align-items:center;gap:2px;display:flex}.layers-item-main{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:10px;min-width:0;padding:9px 10px;display:flex}.layers-item-icon{background:var(--card-bg);border:1px solid var(--border);width:32px;height:32px;color:var(--text);border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.layers-item-text{flex-direction:column;gap:1px;min-width:0;display:flex}.layers-item-name{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.layers-item-subtitle{color:var(--text);opacity:.75;font-size:11px}.layers-item-actions{align-items:center;gap:2px;padding-right:10px;display:flex}.layers-item-actions button{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.layers-item-actions button:hover:not(:disabled){background:var(--rail-active-bg);color:var(--text-h)}.layers-item-actions button:disabled{opacity:.3;cursor:not-allowed}.layers-item-grip{width:26px;height:26px;color:var(--text);opacity:.55;cursor:grab;justify-content:center;align-items:center;display:flex}.layers-empty-hint{color:var(--text);opacity:.7;font-size:13px}.layer-properties{border-top:1px solid var(--border);flex-direction:column;gap:12px;padding:2px 12px 14px;display:flex}.field-row{gap:10px;display:flex}.field-row .field{flex:1;min-width:0}.input-suffix{border:1px solid var(--border);background:var(--card-bg);border-radius:8px;align-items:stretch;display:flex;overflow:hidden}.input-suffix input{min-width:0;color:var(--text-h);background:0 0;border:none;flex:1;padding:8px 10px;font-size:13px}.input-suffix input:focus{outline:none}.input-suffix span{color:var(--text);border-left:1px solid var(--border);align-items:center;padding:0 10px;font-size:12px;display:flex}.align-group{border:1px solid var(--border);background:var(--card-bg);border-radius:8px;flex:1;display:flex;overflow:hidden}.align-group button{color:var(--text);cursor:pointer;border:none;border-right:1px solid var(--border);background:0 0;flex:1;justify-content:center;align-items:center;padding:8px 0;display:flex}.align-group button:last-child{border-right:none}.align-group button:hover{background:var(--rail-active-bg);color:var(--text-h)}.clipart-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.clipart-item{aspect-ratio:1;border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:8px;display:flex}.clipart-item:hover{border-color:var(--text-h)}.clipart-item img{object-fit:contain;width:100%;height:100%}.clipart-item svg{color:var(--text-h)}.curved-text-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.curved-text-label{color:var(--text-h);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.badge{text-transform:uppercase;letter-spacing:.4px;color:var(--text);background:var(--rail-active-bg);border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700}.switch{cursor:pointer;flex:none;width:36px;height:20px;display:inline-flex;position:relative}.switch input{opacity:0;width:0;height:0;position:absolute}.switch-track{background:var(--border);border-radius:999px;transition:background-color .15s;position:absolute;inset:0}.switch-track:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.switch input:checked+.switch-track{background:var(--text-h)}.switch input:checked+.switch-track:before{transform:translate(16px)}.curve-slider{width:100%;accent-color:var(--text-h)}.curve-preset-row{gap:6px;display:flex}.curve-preset-row button{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:8px 4px 6px;font-size:10px;display:flex}.curve-preset-row button:hover{border-color:var(--text-h)}.curve-preset-row button.is-active{background:var(--text-h);color:var(--card-bg);border-color:var(--text-h)}.pattern-controls{flex-direction:column;gap:12px;display:flex}.font-picker{flex:1;min-width:0;position:relative}.font-picker-trigger{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:6px;min-width:0;padding:6px 8px;font-size:13px;display:flex}.font-picker-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.font-picker-trigger svg{color:var(--text);flex:none}.font-picker-popover{background:var(--card-bg);border:1px solid var(--border);width:280px;max-width:calc(100vw - 40px);box-shadow:var(--shadow-lg);z-index:20;border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.font-picker-search{border:1px solid var(--border);color:var(--text);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;display:flex}.font-picker-search input{min-width:0;color:var(--text-h);background:0 0;border:none;flex:1;font-size:13px}.font-picker-search input:focus{outline:none}.font-picker-categories{flex-wrap:wrap;gap:6px;display:flex}.font-picker-categories button{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:999px;padding:5px 10px;font-size:11px}.font-picker-categories button.is-active{background:var(--text-h);color:var(--card-bg);border-color:var(--text-h)}.font-picker-list{flex-direction:column;max-height:240px;display:flex;overflow-y:auto}.font-picker-item{text-align:left;color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:9px 8px;font-size:15px}.font-picker-item:hover{background:var(--rail-active-bg)}.font-picker-item.is-selected{background:var(--rail-active-bg);font-weight:700}.font-picker-empty{color:var(--text);opacity:.7;padding:8px;font-size:12px}.selection-toolbar{z-index:15;background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:6px;max-width:calc(100% - 40px);padding:6px 8px;display:flex;position:absolute;top:20px;left:50%;transform:translate(-50%)}.font-size-picker{border:1px solid var(--border);background:var(--bg);border-radius:6px;flex:none;align-items:center;display:flex;position:relative}.font-size-picker input{width:34px;color:var(--text-h);background:0 0;border:none;padding:6px 2px 6px 8px;font-size:12px}.font-size-picker input:focus{outline:none}.font-size-picker>button{height:30px;color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0 6px;display:flex}.font-size-popover{background:var(--card-bg);border:1px solid var(--border);width:72px;max-height:220px;box-shadow:var(--shadow-lg);z-index:20;border-radius:10px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.font-size-popover button{text-align:left;color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px 8px;font-size:13px}.font-size-popover button:hover{background:var(--rail-active-bg)}.font-size-popover button.is-selected{background:var(--rail-active-bg);font-weight:700}.selection-toolbar>button{border:1px solid var(--border);background:var(--bg);width:28px;height:30px;color:var(--text-h);cursor:pointer;border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:13px;transition:border-color .15s;display:flex}.selection-toolbar>button:hover{border-color:var(--accent)}.selection-toolbar>button.crop-apply,.selection-toolbar>button[aria-label=Cancel\ crop]{gap:6px;width:auto;padding:0 12px;font-size:13px;font-weight:600}.selection-toolbar>button.crop-apply,.selection-toolbar>button.is-active{background:var(--text-h);color:var(--card-bg);border-color:var(--text-h)}.selection-toolbar .align-group{flex:none}.toolbar-divider{background:var(--border);align-self:stretch;width:1px;margin:2px 0}.curve-popover-anchor{flex:none;position:relative}.curve-popover-anchor>button{border:1px solid var(--border);background:var(--bg);width:28px;height:30px;color:var(--text-h);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:border-color .15s;display:flex}.curve-popover-anchor>button:hover{border-color:var(--accent)}.curve-popover-anchor>button.is-active{background:var(--text-h);color:var(--card-bg);border-color:var(--text-h)}.curve-popover{background:var(--card-bg);border:1px solid var(--border);width:240px;box-shadow:var(--shadow-lg);z-index:20;border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.error-banner{background:var(--danger-bg);color:var(--danger);flex:none;padding:10px 20px;font-size:13px}
