@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f4f4f5;--panel:#fff;--panel-2:#f7f7f8;--panel-3:#ededef;--ink:#18181b;--ink-2:#52525b;--ink-3:#8b8b94;--line:#18181b17;--line-2:#18181b29;--accent:#2563eb;--accent-rgb:37, 99, 235;--accent-ink:#fff;--accent-hover:#1d4ed8;--accent-soft:#2563eb17;--danger:#dc2626;--font-display:"Geist Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-ui:"Geist Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, Menlo, monospace;--radius:8px;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:14px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;overscroll-behavior:none}button,input,select,textarea{font:inherit;color:inherit}button{appearance:none;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--accent)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app{flex-direction:column;height:100%;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;height:56px;padding:0 14px;display:flex;position:relative}.topbar:after{content:"";opacity:.85;height:2px;position:absolute;bottom:-1px;left:0;right:0}.brand{color:inherit;align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.brand img{width:34px;height:34px;display:block}.maker{color:var(--ink-3);white-space:nowrap;margin-left:2px;font-size:12px;text-decoration:none}.maker:hover{color:var(--ink-2)}.brand-name{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;font-size:22px;font-weight:700}.topbar .spacer{flex:1}.topbar .file{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:13px;overflow:hidden}.btn{background:var(--panel-3);border:1px solid var(--line);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;height:34px;padding:0 12px;font-size:13px;font-weight:550;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--line-2);background:#2b2d34}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn.ghost{background:0 0;border-color:#0000}a.btn{color:inherit;text-decoration:none}.btn.sibling img{border-radius:5px;width:20px;height:20px}.btn.ghost:hover:not(:disabled){background:var(--panel-3)}.btn.danger:hover:not(:disabled){color:var(--danger)}.btn.icon{width:34px;padding:0}.btn.sm{height:28px;padding:0 9px;font-size:12px}.btn.sm.icon{width:28px}.btn.lg{border-radius:10px;height:46px;padding:0 20px;font-size:15px}.btn svg{flex:none;width:16px;height:16px}.btn.lg svg{width:18px;height:18px}.workspace{flex:1;grid-template:"left view right"minmax(0,1fr)"status status status"/300px minmax(0,1fr) 312px;min-height:0;display:grid}.panel{background:var(--panel);scrollbar-width:thin;scrollbar-color:#33353c transparent;overflow-y:auto}.panel.left{border-right:1px solid var(--line);grid-area:left}.panel.right{border-left:1px solid var(--line);flex-direction:column;grid-area:right;display:flex}.viewport-wrap{grid-area:view;min-width:0;min-height:0;position:relative}.mobile-tabs{display:none}.statusbar{background:var(--panel);border-top:1px solid var(--line);height:28px;color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:status;align-items:center;gap:16px;padding:0 14px;font-size:12px;display:flex;overflow:hidden}.statusbar b{color:var(--ink-2);font-weight:600}.statusbar .spacer{flex:1}.section{border-bottom:1px solid var(--line);padding:14px 16px 16px}.section-title{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);justify-content:space-between;align-items:center;gap:8px;margin:0 0 12px;font-size:15px;font-weight:700;display:flex}.section-title .actions{gap:2px;display:flex}.field{margin-bottom:14px}.field:last-child{margin-bottom:0}.field-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:7px;display:flex}.field-label{color:var(--ink);font-size:13px;font-weight:550}.field-value{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:12px}.field-hint{color:var(--ink-3);margin-top:6px;font-size:12px;line-height:1.4}.presets{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.preset{text-align:left;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px;font-weight:600;transition:border-color .15s,background .15s}.preset small{color:var(--ink-3);margin-top:2px;font-size:11px;font-weight:400;line-height:1.3;display:block}.preset:hover{border-color:var(--line-2)}.preset.on{border-color:var(--accent);background:var(--accent-soft)}.seg{background:var(--bg);border:1px solid var(--line);border-radius:9px;gap:2px;padding:3px;display:flex}.seg button{min-width:0;height:28px;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:5px;padding:0 6px;font-size:12px;font-weight:550;display:inline-flex;overflow:hidden}.seg button svg{flex:none;width:14px;height:14px}.seg button:hover{color:var(--ink)}.seg button.on{background:var(--panel-3);color:var(--ink);box-shadow:0 1px 2px #0006}input[type=range]{appearance:none;cursor:pointer;--fill:50%;background:0 0;width:100%;height:20px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent) var(--fill), #34363d var(--fill));border-radius:2px;height:4px}input[type=range]::-moz-range-track{background:#34363d;border-radius:2px;height:4px}input[type=range]::-moz-range-progress{background:var(--accent);border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:0;border-radius:50%;width:16px;height:16px;margin-top:-6px;box-shadow:0 1px 4px #00000080}input[type=range]::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:16px;height:16px}.slider-ends{color:var(--ink-3);justify-content:space-between;margin-top:2px;font-size:11px;display:flex}.toggle-row{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;display:flex}.toggle-row+.toggle-row{margin-top:12px}.switch{background:#34363d;border-radius:10px;flex:none;width:34px;height:20px;transition:background .15s;position:relative}.switch:after{content:"";width:16px;height:16px;transition:transform .18s var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.switch.on{background:var(--accent)}.switch.on:after{transform:translate(14px)}.text-input,select.text-input,textarea.text-input{background:var(--bg);border:1px solid var(--line-2);border-radius:7px;width:100%;height:32px;padding:0 10px;font-size:13px}textarea.text-input{resize:vertical;height:auto;min-height:64px;padding:8px 10px;font-family:ui-monospace,Menlo,monospace;font-size:12px}.text-input:focus{border-color:var(--accent);outline:none}.num-input{text-align:right;font-variant-numeric:tabular-nums;width:64px}.inline{align-items:center;gap:8px;display:flex}details.advanced>summary{cursor:pointer;color:var(--ink-2);align-items:center;gap:6px;margin-top:4px;font-size:12px;font-weight:600;list-style:none;display:flex}details.advanced>summary::-webkit-details-marker{display:none}details.advanced>summary svg{width:14px;height:14px;transition:transform .15s}details.advanced[open]>summary svg{transform:rotate(90deg)}details.advanced>.body{margin-top:14px}.palette{padding:6px 8px 10px}.swatch-row{cursor:pointer;border:1px solid #0000;border-radius:8px;grid-template-columns:30px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:5px 8px;display:grid}.swatch-row:hover{background:var(--panel-2)}.swatch-row.on{background:var(--accent-soft);border-color:rgba(var(--accent-rgb), .5)}.swatch-row.off .chip,.swatch-row.off .hex{opacity:.35}.chip{cursor:pointer;border:1px solid #ffffff2e;border-radius:7px;width:30px;height:30px;position:relative;overflow:hidden}.chip input[type=color]{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.hex-wrap{min-width:0}.hex{text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:5px;width:100%;margin-left:-5px;padding:1px 4px;font-family:ui-monospace,Menlo,monospace;font-size:12.5px}.hex:hover{border-color:var(--line-2)}.hex:focus{border-color:var(--accent);background:var(--bg);outline:none}.share{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:11px;display:block}.share .bar{vertical-align:middle;background:var(--ink-3);opacity:.6;border-radius:2px;height:3px;margin-right:6px;display:inline-block}.row-actions{opacity:.55;gap:1px;transition:opacity .12s;display:flex}.swatch-row:hover .row-actions,.swatch-row.on .row-actions,.row-actions:focus-within{opacity:1}.row-actions .btn{color:var(--ink-2)}.tag{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--line-2);border-radius:4px;margin-left:4px;padding:0 4px;font-size:10px;font-weight:700}.removed-head{color:var(--ink-3);justify-content:space-between;align-items:center;padding:10px 8px 4px;font-size:12px;display:flex}.menu{z-index:60;background:var(--panel-2);border:1px solid var(--line-2);border-radius:10px;min-width:200px;max-height:320px;padding:5px;position:fixed;overflow-y:auto;box-shadow:0 12px 40px #0000008c}.menu-title{color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;padding:6px 8px;font-size:11px;font-weight:600}.menu-item{text-align:left;border-radius:6px;align-items:center;gap:9px;width:100%;padding:6px 8px;font-size:13px;display:flex}.menu-item:hover{background:var(--panel-3)}.menu-item .chip{border-radius:4px;width:18px;height:18px}.selection-card{background:var(--panel-2);border:1px solid rgba(var(--accent-rgb), .45);border-radius:10px;margin:12px 12px 0;padding:12px}.selection-card .head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.selection-card .head .chip{width:26px;height:26px}.selection-card .head b{font-size:13px;display:block}.selection-card .head small{color:var(--ink-3);font-size:12px}.selection-card .grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.fill-row{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.fill-row .chip{border-radius:6px;width:24px;height:24px}.fill-row .chip.new{background:var(--panel-3);color:var(--ink-2);place-items:center;display:grid}.fill-row .chip.new svg{width:14px;height:14px}.muted{color:var(--ink-3);font-size:12px;line-height:1.45}.viewport{touch-action:none;-webkit-user-select:none;user-select:none;background:#0a0b0d;position:absolute;inset:0;overflow:hidden}.viewport svg.canvas{width:100%;height:100%;display:block}.viewport.tool-select{cursor:default}.viewport.tool-pan,.viewport.panning{cursor:grab}.viewport.dragging{cursor:grabbing}.viewport.tool-pick{cursor:crosshair}.ants{animation:.6s linear infinite ants}@keyframes ants{to{stroke-dashoffset:-12px}}.vp-toolbar{z-index:5;align-items:center;gap:8px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.vp-toolbar .seg{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141518eb}.vp-tools{border:1px solid var(--line);z-index:5;background:#141518eb;border-radius:10px;flex-direction:column;gap:2px;padding:3px;display:flex;position:absolute;top:12px;left:12px}.vp-tools button{width:34px;height:34px;color:var(--ink-2);border-radius:7px;place-items:center;display:grid}.vp-tools button:hover{color:var(--ink);background:var(--panel-3)}.vp-tools svg{width:17px;height:17px}.vp-zoom{border:1px solid var(--line);z-index:5;background:#141518eb;border-radius:10px;align-items:center;gap:2px;padding:3px;display:flex;position:absolute;bottom:12px;right:12px}.vp-zoom .pct{text-align:center;font-variant-numeric:tabular-nums;min-width:50px;color:var(--ink-2);font-size:12px}.vp-bg{z-index:5;position:absolute;bottom:12px;left:12px}.vp-bg .seg{background:#141518eb}.bg-dot{border:1px solid #ffffff4d;border-radius:4px;width:14px;height:14px}.bg-dot.checker{background:repeating-conic-gradient(#bbb 0 25%, #fff 0 50%) 0 0 / 8px 8px}.progress{z-index:6;border:1px solid var(--line-2);color:var(--ink-2);pointer-events:none;white-space:nowrap;background:#141518f2;border-radius:999px;align-items:center;gap:10px;padding:8px 14px;font-size:12px;display:flex;position:absolute;top:58px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.progress .track{background:#34363d;border-radius:2px;width:110px;height:3px;overflow:hidden}.progress .track div{background:var(--accent);height:100%;transition:width .2s}.spinner{border:2px solid #3a3c43;border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.split-handle{cursor:ew-resize;z-index:4;justify-content:center;width:24px;margin-left:-12px;display:flex;position:absolute;top:0;bottom:0}.split-handle:before{content:"";background:#fff;width:2px;height:100%;box-shadow:0 0 0 1px #00000059}.split-handle span{color:#111;background:#fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 10px #00000080}.split-handle span svg{width:16px;height:16px}.split-labels{pointer-events:none;z-index:4;justify-content:space-between;display:flex;position:absolute;top:56px;left:62px;right:12px}.split-labels span{letter-spacing:.04em;text-transform:uppercase;background:#0009;border-radius:5px;padding:3px 8px;font-size:11px;font-weight:600}.landing{flex:1;overflow-y:auto}.hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:48px;max-width:1080px;margin:0 auto;padding:56px 24px 24px;display:grid}.hero h1{font-family:var(--font-display);letter-spacing:.005em;text-transform:uppercase;margin:0 0 18px;font-size:60px;font-weight:800;line-height:.95}.hero h1 em{color:var(--accent);font-style:normal}.hero p.lead{color:var(--ink-2);max-width:520px;margin:0 0 22px;font-size:17px;line-height:1.55}.badges{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.badge{background:var(--panel-2);border:1px solid var(--line);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;display:inline-flex}.badge svg{width:14px;height:14px;color:var(--accent)}.dropzone{border:2px dashed rgba(var(--accent-rgb), .45);background:radial-gradient(ellipse at top, rgba(var(--accent-rgb), .08), transparent 60%), var(--panel);text-align:center;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:330px;padding:28px;transition:border-color .15s,background .15s;display:flex;position:relative}.dropzone.over{border-color:var(--accent);background:rgba(var(--accent-rgb), .1)}.dropzone .big-icon{background:var(--accent-soft);width:58px;height:58px;color:var(--accent);border-radius:16px;place-items:center;display:grid}.dropzone .big-icon svg{width:28px;height:28px}.dropzone h2{margin:0;font-size:19px}.dropzone p{color:var(--ink-3);margin:0;font-size:13px}.kbd{border:1px solid var(--line-2);background:var(--panel-2);color:var(--ink-2);border-radius:4px;padding:0 5px;font-family:ui-monospace,Menlo,monospace;font-size:11.5px;display:inline-block}.samples{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.sample{color:var(--ink-2);flex-direction:column;align-items:center;gap:5px;font-size:12px;display:flex}.sample img{object-fit:contain;border:1px solid var(--line-2);background:#fff;border-radius:8px;width:84px;height:56px;transition:transform .15s,border-color .15s}.sample:hover img{border-color:var(--accent);transform:translateY(-2px)}.features{grid-template-columns:repeat(3,1fr);gap:14px;max-width:1080px;margin:0 auto;padding:24px 24px 12px;display:grid}.feature{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px}.feature svg{width:22px;height:22px;color:var(--accent)}.feature h3{margin:10px 0 6px;font-size:15px}.feature p{color:var(--ink-2);margin:0;font-size:13px;line-height:1.5}.uses{max-width:1080px;margin:0 auto;padding:12px 24px}.uses h2,.faq h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;margin:20px 0 12px;font-size:26px}.use-chips{flex-wrap:wrap;gap:8px;display:flex}.use-chips span{background:var(--panel-2);border:1px solid var(--line);color:var(--ink-2);border-radius:8px;padding:7px 12px;font-size:13px}.use-chips b{color:var(--ink);font-weight:600}.faq{max-width:1080px;margin:0 auto;padding:0 24px 24px}.faq details{border-bottom:1px solid var(--line);padding:12px 0}.faq summary{cursor:pointer;font-size:14px;font-weight:600}.faq details p{color:var(--ink-2);margin:8px 0 0;font-size:13.5px;line-height:1.6}.footer{border-top:1px solid var(--line);text-align:center;color:var(--ink-3);margin-top:20px;padding:22px 24px 30px;font-size:12.5px;line-height:1.6}.footer a{color:var(--ink-2)}.drop-overlay{z-index:90;background:rgba(var(--accent-rgb), .12);border:3px dashed var(--accent);pointer-events:none;place-items:center;font-size:22px;font-weight:700;display:grid;position:fixed;inset:0}.scrim{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0009;place-items:center;padding:20px;animation:.15s ease-out fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.dialog{background:var(--panel);border:1px solid var(--line-2);width:min(980px,100%);max-height:min(760px,100vh - 40px);animation:pop .2s var(--ease);border-radius:16px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 30px 80px #0009}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.99)}}.dialog-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px 14px 20px;display:flex}.dialog-head h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:22px}.dialog-body{flex:1;grid-template-columns:270px minmax(0,1fr);min-height:0;display:grid}.uses-list{border-right:1px solid var(--line);background:var(--bg);padding:10px;overflow-y:auto}.use{text-align:left;border:1px solid #0000;border-radius:9px;align-items:flex-start;gap:10px;width:100%;padding:9px 10px;display:flex}.use svg{width:18px;height:18px;color:var(--ink-2);flex:none;margin-top:1px}.use b{font-size:13px;font-weight:600;display:block}.use small{color:var(--ink-3);margin-top:1px;font-size:11.5px;line-height:1.35;display:block}.use:hover{background:var(--panel-2)}.use.on{background:var(--accent-soft);border-color:rgba(var(--accent-rgb), .45)}.use.on svg{color:var(--accent)}.export-main{padding:18px 22px 22px;overflow-y:auto}.export-main .desc{color:var(--ink-2);margin:0 0 16px;font-size:13.5px;line-height:1.55}.formats{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.format{text-align:left;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;min-width:110px;padding:9px 12px}.format b{font-size:14px;display:block}.format small{color:var(--ink-3);margin-top:1px;font-size:11.5px;display:block}.format:hover{border-color:var(--line-2)}.format.on{border-color:var(--accent);background:var(--accent-soft)}.opts{grid-template-columns:1fr 1fr;gap:14px 20px;display:grid}.opts .full{grid-column:1/-1}.export-foot{border-top:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.export-foot .muted{max-width:520px}.size-row{align-items:center;gap:6px;display:flex}.size-row .text-input{width:92px}.size-row select.text-input{width:70px}.tip{background:var(--panel-2);border:1px solid var(--line);color:var(--ink-2);border-radius:9px;gap:8px;margin-top:16px;padding:10px 12px;font-size:12.5px;line-height:1.5;display:flex}.tip svg{width:16px;height:16px;color:var(--accent);flex:none;margin-top:1px}.help{width:min(620px,100%)}.help .dialog-body{padding:8px 20px 20px;display:block;overflow-y:auto}.help table{border-collapse:collapse;width:100%;font-size:13px}.help td{border-bottom:1px solid var(--line);padding:7px 0}.help td:last-child{text-align:right}.help h3{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin:18px 0 4px;font-size:13px}.toast{z-index:80;border:1px solid var(--line-2);animation:pop .2s var(--ease);background:#24262c;border-radius:10px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 12px 10px 16px;font-size:13px;display:flex;position:fixed;bottom:44px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #00000080}.error-banner{z-index:6;color:#ffb4b6;background:#3a1517;border:1px solid #7a2a2e;border-radius:8px;padding:8px 14px;font-size:12.5px;position:absolute;top:58px;left:50%;transform:translate(-50%)}@media (width<=1180px){.workspace{grid-template-columns:270px minmax(0,1fr) 280px}.hero{grid-template-columns:1fr;gap:28px;padding-top:36px}.hero h1{font-size:48px}}@media (width<=900px){.workspace{grid-template:"view"minmax(300px,52vh)"tabs""panel"minmax(0,1fr)"status"/1fr}.mobile-tabs{background:var(--panel);border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-area:tabs;display:flex}.mobile-tabs button{height:42px;color:var(--ink-2);border-bottom:2px solid #0000;flex:1;font-weight:600}.mobile-tabs button.on{color:var(--ink);border-bottom-color:var(--accent)}.panel.left,.panel.right{border:0;grid-area:panel}.workspace[data-tab=settings] .panel.right,.workspace[data-tab=colours] .panel.left,.topbar .file,.topbar .hide-sm{display:none}.brand-name{font-size:19px}.features,.dialog-body{grid-template-columns:1fr}.uses-list{border-right:0;border-bottom:1px solid var(--line);gap:4px;display:flex;overflow-x:auto}.use{min-width:200px}.opts{grid-template-columns:1fr}.vp-toolbar{top:auto;bottom:58px}.statusbar .hide-sm{display:none}}@media (width<=560px){.hero{padding:24px 16px 8px}.hero h1{font-size:38px}.features,.uses,.faq{padding-left:16px;padding-right:16px}.topbar{gap:6px;padding:0 10px}.topbar .btn.primary span{display:none}.dialog{max-height:calc(100vh - 20px)}.scrim{padding:10px}}.topbar{background:var(--panel);height:52px}.topbar:after{display:none}.brand img{width:26px;height:26px}.brand-name{font-family:var(--font-display);letter-spacing:-.01em;text-transform:none;font-size:16px;font-weight:600}.brand-name span,.maker{color:var(--ink-3)}.btn{border-radius:7px;box-shadow:0 1px #18181b0a}.btn:hover:not(:disabled){background:var(--panel-3)}.btn.ghost{box-shadow:none}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.section-title{font-family:var(--font-ui);letter-spacing:0;text-transform:none;color:var(--ink);font-size:12px;font-weight:600}.preset{background:var(--panel);border-radius:8px}.preset.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.panel{scrollbar-color:#d4d4d8 transparent}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent) var(--fill), #dcdce1 var(--fill))}input[type=range]::-moz-range-track{background:#dcdce1}input[type=range]::-webkit-slider-thumb{background:#fff;box-shadow:0 0 0 1px #18181b33,0 1px 3px #18181b33}input[type=range]::-moz-range-thumb{background:#fff;box-shadow:0 0 0 1px #18181b33}.switch{background:#d4d4d8}.menu{box-shadow:0 12px 32px #18181b24, 0 0 0 1px var(--line)}.progress .track{background:#e4e4e7}.spinner{border-color:#d4d4d8;border-top-color:var(--accent)}.bg-dot{border-color:#18181b33}.scrim{background:#18181b52}.dialog{box-shadow:0 30px 80px #18181b40}.toast{color:#fafafa;background:#18181b;box-shadow:0 12px 30px #18181b40}.error-banner{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.kbd{background:var(--panel)}.viewport{background:radial-gradient(circle,#18181b21 1px,#0000 1.2px) 0 0/16px 16px,#ececee}.vp-toolbar .seg,.vp-tools,.vp-zoom,.vp-bg .seg,.progress{border:1px solid var(--line);background:#fffffff5;box-shadow:0 4px 16px #18181b14}.vp-tools button.on{color:#fff;background:var(--accent)}.split-labels span{color:#fff;background:#18181bbf}.studio{background:var(--bg)}.st-hero{text-align:center;max-width:860px;margin:0 auto;padding:72px 24px 36px}.st-eyebrow{background:var(--panel);border:1px solid var(--line);color:var(--ink-2);border-radius:999px;margin:0 0 20px;padding:5px 12px;font-size:12.5px;display:inline-block}.st-hero h1{font-family:var(--font-display);letter-spacing:-.045em;color:var(--ink);margin:0 0 18px;font-size:64px;font-weight:600;line-height:1.02}.st-lead{max-width:620px;color:var(--ink-2);margin:0 auto 30px;font-size:18px;line-height:1.55}.st-cta{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.st-or{color:var(--ink-3);align-items:center;gap:4px;font-size:13px;display:inline-flex}.st-samples{color:var(--ink-3);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:26px;font-size:12.5px;display:flex}.st-samples>span{margin-right:4px}.st-sample{background:var(--panel);border:1px solid var(--line);height:34px;color:var(--ink);border-radius:999px;align-items:center;gap:8px;padding:0 12px 0 4px;font-size:13px;transition:border-color .15s,box-shadow .15s;display:inline-flex}.st-sample img{object-fit:cover;border:1px solid var(--line);background:#fff;border-radius:999px;width:26px;height:26px}.st-sample:hover{border-color:var(--line-2);box-shadow:0 2px 8px #18181b14}.st-demo{max-width:1040px;margin:0 auto;padding:12px 24px 56px}.ed-window{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 1px 2px #18181b0d,0 24px 60px -20px #18181b38}.ed-tabs{border-bottom:1px solid var(--line);height:40px;color:var(--ink-2);align-items:center;gap:8px;padding:0 12px;font-size:12.5px;display:flex}.ed-tab{border-radius:6px;padding:4px 10px}.ed-tab.on{background:var(--panel-3);color:var(--ink);font-weight:500}.ed-arrow{color:var(--ink-3)}.ed-meta{font-family:var(--font-mono);color:var(--ink-3);margin-left:auto;font-size:11.5px}.ed-canvas{background:radial-gradient(circle,#18181b1f 1px,#0000 1.2px) 0 0/16px 16px,#f1f1f3;grid-template-columns:1fr 1fr;height:400px;display:grid;position:relative}.ed-half{place-items:center;display:grid;position:relative;overflow:hidden}.ed-half img,.ed-half svg{width:300px;height:300px}.ed-half.raster img{image-rendering:pixelated;box-shadow:0 0 0 1px var(--line), 0 6px 14px #18181b1a;border-radius:4px}.ed-half.vector svg{filter:drop-shadow(0 6px 14px #18181b1f);overflow:visible}.ed-label{border:1px solid var(--line);font-family:var(--font-mono);color:var(--ink-2);background:#fff;border-radius:6px;padding:3px 8px;font-size:11px;position:absolute;bottom:12px;left:14px}.ed-split{background:var(--line-2);width:1px;position:absolute;top:0;bottom:0;left:50%}.ed-inspector{border-top:1px solid var(--line);height:40px;color:var(--ink-2);align-items:center;gap:18px;padding:0 14px;font-size:12.5px;display:flex}.ed-inspector svg{vertical-align:-2px;width:14px;height:14px;color:var(--accent);margin-right:4px}.ed-inspector .mono{font-family:var(--font-mono);font-size:11.5px}.ed-inspector .dim{color:var(--ink-3);margin-left:auto}.swatches{gap:4px;display:inline-flex}.swatches i{border-radius:4px;width:14px;height:14px;box-shadow:inset 0 0 0 1px #18181b26}.st-formats{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);max-width:1040px;margin:0 auto;padding:0 24px;display:grid}.st-formats div{border-bottom:1px solid var(--line);padding:16px 16px 16px 0}.st-formats b{font-family:var(--font-mono);color:var(--ink);font-size:13px;font-weight:600;display:block}.st-formats span{color:var(--ink-3);font-size:12.5px}.st-features{grid-template-columns:repeat(3,1fr);gap:36px 40px;max-width:1040px;margin:0 auto;padding:56px 24px 24px;display:grid}.st-features svg{width:20px;height:20px;color:var(--accent)}.st-features h3{letter-spacing:-.01em;margin:12px 0 6px;font-size:15px;font-weight:600}.st-features p{color:var(--ink-2);margin:0;font-size:14px;line-height:1.6}.st-faq{grid-template-columns:260px 1fr;gap:40px;max-width:1040px;margin:0 auto;padding:56px 24px 24px;display:grid}.st-faq h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:28px;font-weight:600}.st-faq details{border-bottom:1px solid var(--line);padding:14px 0}.st-faq details:first-child{padding-top:4px}.st-faq summary{cursor:pointer;font-size:15px;font-weight:500}.st-faq details p{color:var(--ink-2);margin:10px 0 0;font-size:14px;line-height:1.65}.st-footer{border-top:1px solid var(--line);max-width:1040px;color:var(--ink-2);flex-wrap:wrap;gap:8px 28px;margin:40px auto 0;padding:24px 24px 36px;font-size:13px;display:flex}.st-footer a{color:var(--ink)}.st-footer .dim{color:var(--ink-3);flex-basis:100%;font-size:12px}.drop-overlay{border:2px solid var(--accent);color:var(--accent);background:#2563eb14}@media (width<=860px){.st-hero{padding-top:48px}.st-hero h1{font-size:46px}.ed-canvas{height:300px}.ed-half img,.ed-half svg{width:200px;height:200px}.st-formats{grid-template-columns:repeat(2,1fr)}.st-features{grid-template-columns:1fr 1fr}.st-faq{grid-template-columns:1fr;gap:16px}}@media (width<=560px){.st-hero{padding:36px 16px 24px}.st-hero h1{font-size:38px}.st-lead{font-size:16px}.st-demo{padding:8px 12px 40px}.ed-canvas{height:220px}.ed-half img,.ed-half svg{width:140px;height:140px}.ed-meta,.ed-inspector .dim{display:none}.st-formats,.st-features,.st-faq,.st-footer{padding-left:16px;padding-right:16px}.st-features{grid-template-columns:1fr;gap:26px}}.chip,.swatch-row .chip,.fill-row .chip{box-shadow:inset 0 0 0 1px #18181b29}.st-formats{max-width:992px;padding:0}@media (width<=1040px){.st-formats{margin:0 24px}}@media (width<=560px){.st-formats{margin:0 16px}}.dialog-head h2{font-family:var(--font-display);text-transform:none;letter-spacing:-.02em;font-weight:600}
