@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-vietnamese-400-normal-B7xT_GF5.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-400-normal-BIWiOVfw.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-ext-400-normal-CfP_5XZW.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-400-normal-DRPE3kg4.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2) format("woff2"),url(/assets/space-grotesk-latin-400-normal-BnQMeOim.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2) format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff) format("woff");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:Syne;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/syne-greek-400-normal-B4XGRaFa.woff2) format("woff2"),url(/assets/syne-greek-400-normal-C1nzy5ms.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/syne-latin-ext-400-normal-B5s6XpS5.woff2) format("woff2"),url(/assets/syne-latin-ext-400-normal-DCnt6qEA.woff) format("woff");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:Syne;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/syne-latin-400-normal-CcHADMBd.woff2) format("woff2"),url(/assets/syne-latin-400-normal-CULFKXub.woff) format("woff");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:Syne;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/syne-greek-700-normal-RbvlO3f8.woff2) format("woff2"),url(/assets/syne-greek-700-normal-C01yjWE_.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/syne-latin-ext-700-normal-DuyXglMe.woff2) format("woff2"),url(/assets/syne-latin-ext-700-normal-C-qCH-vM.woff) format("woff");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:Syne;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/syne-latin-700-normal-AF3Rs61n.woff2) format("woff2"),url(/assets/syne-latin-700-normal-Cd-_iCn5.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");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:#f3f3f5;background:#08080a;font-family:Inter,system-ui,sans-serif;font-synthesis:none;--panel: #101013;--panel-soft: #151519;--line: #27272d;--line-soft: #1d1d22;--muted: #898991;--accent: #b9ff42}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #d4ff7b;outline-offset:2px}.app-shell{height:100vh;display:grid;grid-template-rows:58px minmax(0,1fr) 30px;background:#0a0a0c}.topbar{display:grid;grid-template-columns:280px 1fr 340px;align-items:center;border-bottom:1px solid var(--line);padding:0 12px 0 16px;background:#0c0c0f;z-index:20}.brand-block{display:flex;align-items:center;gap:11px}.brand-block strong{display:block;font-size:13px;letter-spacing:.01em}.brand-block small{display:block;margin-top:2px;color:#64646c;font-size:8px;font-weight:700;letter-spacing:.16em}.brand-mark{width:27px;height:27px;display:grid;place-items:center;border:1px solid #37373e;border-radius:7px;background:conic-gradient(from 160deg,#6f46ff,#14e7d7,#e9ff54,#ff4bc6,#6f46ff)}.brand-mark span{width:12px;height:12px;border-radius:50%;background:#0c0c0f;box-shadow:0 0 0 2px #ffffff80}.mode-switch{justify-self:center;display:flex;gap:3px;border:1px solid var(--line);padding:3px;border-radius:8px;background:#09090b}.mode-switch button{min-width:70px;padding:6px 15px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:11px;font-weight:650;cursor:pointer}.mode-switch button.active{background:#29292f;color:#fff;box-shadow:inset 0 1px #ffffff0f}.toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.toolbar-actions button,.stage-toolbar button,.mini-button,.button-row button,.wide-button{border:1px solid var(--line);border-radius:6px;background:#17171b;padding:7px 10px;color:#b7b7bd;font-size:10px;cursor:pointer}.toolbar-actions .primary-button{background:var(--accent);color:#121407;border-color:var(--accent);font-weight:760;padding-inline:15px}.icon-button{width:29px;padding-inline:0!important}.mobile-panel{display:inline-grid;place-items:center}.workspace{min-height:0;display:grid;grid-template-columns:264px minmax(500px,1fr) 264px;transition:grid-template-columns .22s ease}.workspace.left-closed{grid-template-columns:0 minmax(500px,1fr) 264px}.workspace.right-closed{grid-template-columns:264px minmax(500px,1fr) 0}.workspace.left-closed.right-closed{grid-template-columns:0 minmax(500px,1fr) 0}.side-panel{min-width:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#35353d transparent;background:var(--panel);transition:width .22s ease,opacity .22s ease}.side-panel.collapsed{width:0;opacity:0;overflow:hidden;border:0}.left-panel{border-right:1px solid var(--line)}.right-panel{border-left:1px solid var(--line)}.panel-section{padding:15px 15px 17px;border-bottom:1px solid var(--line-soft)}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:#d9d9dd;font-size:10px;font-weight:750;letter-spacing:.065em;text-transform:uppercase}.section-title small{color:#606068;font-size:8px;letter-spacing:.12em}textarea,select{width:100%;border:1px solid #303036;border-radius:6px;background:#0b0b0e;color:#e8e8eb;padding:9px;font-size:11px;resize:vertical}textarea{min-height:62px;line-height:1.35}select{height:34px;margin-bottom:9px}.field-label{display:flex;justify-content:space-between;align-items:center;margin:7px 0 6px;color:#85858d;font-size:9px}.mini-button{padding:4px 7px}.range-control{margin:10px 0 12px}.range-head{display:flex;align-items:center;justify-content:space-between;height:22px}.range-head label{color:#a7a7ae;font-size:9px;cursor:default}.number-input{width:51px;height:21px;border:1px solid #2d2d33;border-radius:4px;background:#0b0b0e;color:#d1d1d6;padding:2px 5px;text-align:right;font-family:IBM Plex Mono,monospace;font-size:8px}input[type=range]{width:100%;height:14px;appearance:none;background:transparent}input[type=range]::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:linear-gradient(90deg,#777780,#2a2a2f)}input[type=range]::-webkit-slider-thumb{appearance:none;width:10px;height:10px;border:1px solid #eee;border-radius:50%;margin-top:-4px;background:#c8c8ce;box-shadow:0 0 0 2px #101013}.segmented,.button-row{display:flex;gap:4px}.segmented button,.button-row button{flex:1;height:29px;border:1px solid #29292f;border-radius:5px;background:#111115;color:#74747c;cursor:pointer}.segmented button.active,.button-row button.active{background:#2b2b31;color:#fff;border-color:#44444b}.region-switch{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:3px;border:1px solid #29292f;border-radius:6px;background:#0b0b0e}.region-switch button{height:28px;border:0;border-radius:4px;background:transparent;color:#707078;font-size:8px;cursor:pointer}.region-switch button.active{background:#303037;color:#f1f1f3;box-shadow:inset 0 1px #ffffff0f}.directional-controls{margin-top:10px}.direction-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.direction-grid button{min-width:0;height:45px;display:grid;place-items:center;gap:1px;border:1px solid #29292f;border-radius:5px;background:#111115;color:#777780;cursor:pointer}.direction-grid button span{font-size:13px;line-height:1}.direction-grid button small{font-size:6px}.direction-grid button.active{border-color:#6c7d3c;background:#242a19;color:var(--accent);box-shadow:inset 0 0 0 1px #b9ff421f}.brush-controls{margin-top:10px}.brush-tool-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px}.brush-tool-switch button,.mask-action-grid button{min-width:0;height:29px;border:1px solid #29292f;border-radius:5px;background:#111115;color:#74747c;font-size:8px;cursor:pointer}.brush-tool-switch button.active{border-color:#68783c;background:#242a19;color:var(--accent)}.mask-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}.mask-action-grid button{height:27px}.mask-action-grid button:last-child{grid-column:1 / -1}.mask-action-grid button:disabled{opacity:.28;cursor:default}.layer-row.compact{margin-top:8px;padding-bottom:0;border-bottom:0}.mask-preview-chip{width:28px;height:28px;border:1px solid #4b5b2c;border-radius:5px;background:radial-gradient(circle,#b9ff42bf,#b9ff4214 70%)}.drop-zone{width:100%;min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px dashed #3a3a42;border-radius:7px;background:#0b0b0e;cursor:pointer}.drop-zone strong{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.drop-zone small{color:#66666f;font-size:8px}.upload-glyph{color:var(--accent);font-size:18px}.stage{position:relative;min-width:0;min-height:0;display:grid;grid-template-rows:38px minmax(0,1fr);background:#0d0d10;overflow:hidden}.stage-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid #202025;background:#101014}.status-pill{display:flex;align-items:center;gap:7px;color:#787881;font-size:9px}.status-pill i,.green-dot{width:6px;height:6px;border-radius:50%;background:#8dff4e;box-shadow:0 0 7px #62ff1b}.stage-actions{display:flex;gap:5px;align-items:center}.stage-toolbar button{padding:4px 7px;background:transparent}.stage-toolbar button.active{border-color:#64783a;background:#252d1a;color:var(--accent)}.stage-toolbar button:disabled{opacity:.28;cursor:default}.divider{width:1px;height:15px;background:#2a2a30;margin:0 3px}.canvas-surface{position:relative;display:grid;place-items:center;overflow:hidden;min-height:0;padding:10px;cursor:grab;touch-action:none}.canvas-surface.panning{cursor:grabbing}.bg-checker{background-color:#f1f1f1;background-image:linear-gradient(45deg,#d8d8d8 25%,transparent 25%),linear-gradient(-45deg,#d8d8d8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#d8d8d8 75%),linear-gradient(-45deg,transparent 75%,#d8d8d8 75%);background-size:22px 22px;background-position:0 0,0 11px,11px -11px,-11px 0}.bg-white{background:#f5f4f0}.bg-black{background:#030304}.canvas-surface:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 80px #0000002e}.canvas-artboard{position:relative;width:min(94%,calc(100vh - 112px));aspect-ratio:1;transition:transform .12s ease-out;transform-origin:center;filter:drop-shadow(0 18px 60px rgba(0,0,0,.22))}.canvas-surface.panning .canvas-artboard{transition:none}.canvas-artboard.compare:after{content:"BEFORE  |  AFTER";position:absolute;inset:0 auto 0 50%;width:1px;border-left:1px solid rgba(255,255,255,.92);color:#fff;padding:8px;pointer-events:none;font:7px IBM Plex Mono,monospace;letter-spacing:.12em;text-shadow:0 1px 4px #000;white-space:nowrap;box-shadow:-1px 0 #00000073}.canvas-artboard canvas{width:100%;height:100%;display:block}.brush-overlay{position:absolute;inset:0;pointer-events:none;touch-action:none}.brush-overlay.enabled{pointer-events:auto;cursor:none}.brush-overlay.heat-point-overlay{cursor:crosshair}.canvas-loading{position:absolute;color:#777;font:9px IBM Plex Mono,monospace}.error-toast{position:absolute;left:16px;bottom:16px;max-width:360px;display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:11px 12px;border:1px solid #763e43;border-radius:7px;background:#241013f0;color:#ffc3c7;box-shadow:0 8px 30px #00000059;font-size:9px;z-index:5}.error-toast strong{font-size:10px}.error-toast span{grid-column:1;color:#d9a3a6}.error-toast button{grid-column:2;grid-row:1 / span 2;border:0;background:none;color:#c79a9d;cursor:pointer}.gradient-strip{height:29px;border:1px solid #3b3b41;border-radius:5px;box-shadow:inset 0 0 0 1px #ffffff14}.gradient-strip.interactive{cursor:crosshair}.stop-row{position:relative;height:22px;margin:0 5px 9px}.color-stop{position:absolute;top:3px;width:15px;height:15px;padding:0;border:0;background:transparent;transform:translate(-50%);cursor:ew-resize}.color-stop span{display:block;width:10px;height:10px;border:2px solid #f2f2f2;border-radius:2px;transform:rotate(45deg);box-shadow:0 1px 3px #000}.color-stop.selected span{width:12px;height:12px;margin:-1px;border-color:var(--accent);box-shadow:0 0 0 2px #111,0 0 8px #b9ff428c}.color-stop.locked:after{content:"";position:absolute;width:4px;height:4px;top:11px;left:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 5px var(--accent)}.stop-inspector{display:grid;grid-template-columns:1fr .8fr .72fr;gap:6px;margin:3px 0 8px}.stop-inspector label{min-width:0;height:34px;display:flex;align-items:center;gap:5px;padding:5px 6px;border:1px solid #29292f;border-radius:5px;background:#0b0b0e}.stop-inspector label>span{display:none}.stop-inspector input[type=color]{flex:0 0 auto;width:20px;height:20px;padding:0;border:0;background:none}.stop-inspector code{min-width:0;overflow:hidden;color:#aaaab2;font-size:8px}.stop-inspector .position-input{min-width:0;width:100%;border:0;background:transparent;color:#d6d6db;text-align:right;font:9px IBM Plex Mono,monospace}.stop-inspector small{color:#66666e;font-size:8px}.stop-lock-button{min-width:0;border:1px solid #2d2d33;border-radius:5px;background:#111115;color:#777780;font-size:7px;cursor:pointer}.stop-lock-button.active{border-color:#66753c;background:#252a1b;color:var(--accent)}.gradient-actions{display:flex;gap:5px;margin:7px 0 10px}.gradient-actions button,.palette-library button{min-width:0;flex:1;border:1px solid #2d2d33;border-radius:5px;background:#151519;padding:6px 5px;color:#92929a;font-size:8px;cursor:pointer}.gradient-actions button:disabled{opacity:.3;cursor:default}.palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.palette-grid button{display:grid;grid-template-columns:25px 1fr;align-items:center;gap:7px;border:1px solid #28282e;border-radius:5px;background:#111115;padding:6px;color:#8f8f97;text-align:left;font-size:8px;cursor:pointer}.palette-grid button span{height:13px;border-radius:3px}.palette-library{margin-top:12px;padding-top:4px;border-top:1px solid #242429}.palette-library .field-label small{color:#5f5f67}.save-palette-row{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:5px}.save-palette-row input{min-width:0;height:28px;border:1px solid #2d2d33;border-radius:5px;background:#0b0b0e;color:#d6d6db;padding:5px 7px;font-size:8px}.save-palette-row button{padding:5px}.custom-palette-list{display:grid;gap:4px;max-height:112px;overflow:auto;margin-top:6px}.custom-palette-list>div{display:grid;grid-template-columns:minmax(0,1fr) 25px;gap:4px}.custom-palette-list>div>button:first-child{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:7px;text-align:left}.custom-palette-list>div>button:first-child span{height:12px;border-radius:3px}.custom-palette-list strong{overflow:hidden;color:#a8a8af;font-size:8px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.custom-palette-list>div>button:last-child{padding:0;color:#6f6f77}.add-heat-point{margin-top:0}.add-heat-point:disabled{opacity:.35;cursor:default}.empty-heat-points{min-height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin-top:7px;border:1px dashed #303036;border-radius:6px;color:#5f5f67;text-align:center}.empty-heat-points span{color:#ff4ccf;font-size:18px}.empty-heat-points strong{color:#96969e;font-size:9px}.empty-heat-points small{max-width:180px;font-size:7px;line-height:1.4}.heat-point-list{display:grid;gap:4px;max-height:126px;overflow:auto;margin-top:7px}.heat-point-list>button{display:grid;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:8px;border:1px solid #29292f;border-radius:5px;background:#101014;padding:5px;color:#85858d;text-align:left;cursor:pointer}.heat-point-list>button.active{border-color:#6d6d76;background:#1b1b20;color:#eeeef1}.heat-point-list>button>span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;color:#09090b;font-size:8px;font-weight:800;box-shadow:inset 0 0 0 2px #ffffff8c}.heat-point-list strong,.heat-point-list small{display:block}.heat-point-list strong{font-size:8px}.heat-point-list small{margin-top:2px;color:#5f5f68;font:7px IBM Plex Mono,monospace}.heat-point-inspector{margin-top:9px;padding-top:4px;border-top:1px solid #242429}.point-coordinate-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.point-coordinate-row .number-input{width:46px}.edge-follow-icon{width:28px;height:28px;display:grid;place-items:center;border:1px solid #493242;border-radius:5px;background:radial-gradient(circle,#ff55ce,#24131f 68%);color:#fff}.danger-button{border-color:#543136;color:#c68186;background:#211316}.random-panel{display:grid;gap:2px}.seed-row{display:grid;grid-template-columns:minmax(0,1fr) 38px 34px;gap:4px}.seed-row input{min-width:0;height:29px;border:1px solid #303036;border-radius:5px;background:#0b0b0e;color:#c3c3ca;padding:5px 7px;font:8px IBM Plex Mono,monospace}.seed-row button,.randomize-buttons button,.harmony-switch button{border:1px solid #2d2d33;border-radius:5px;background:#151519;color:#8d8d95;font-size:7px;cursor:pointer}.randomize-buttons{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:6px 0 3px}.randomize-buttons button{min-height:31px;font-weight:650}.randomize-buttons .accent-random{border-color:#657c35;background:#28321a;color:var(--accent)}.harmony-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:8px}.harmony-switch button{height:28px}.harmony-switch button.active{border-color:#5d6d38;background:#242a1a;color:var(--accent)}.random-subtitle{margin-top:5px;color:#66666e;font-size:7px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.dual-range{display:grid;grid-template-columns:1fr 1fr;gap:9px}.dual-range .range-control{min-width:0;margin:4px 0 7px}.dual-range .number-input{width:42px}.layer-row{display:grid;grid-template-columns:29px 1fr auto;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid #202025}.layer-icon{width:28px;height:28px;display:grid;place-items:center;border:1px solid #303037;border-radius:5px;font-size:11px}.layer-icon.heat{background:radial-gradient(circle at 35% 35%,#fff,#ff41cf 18%,#6c50ff 52%,#111 75%)}.layer-icon.source{background:#050506;color:#fff;font-weight:750}.layer-icon.preserve{background:linear-gradient(135deg,#f4f4f6 0 48%,#26262c 49% 100%);color:#ff42c9;text-shadow:0 0 4px #fff}.layer-icon.gradient-mask{border-color:#62385b;background:linear-gradient(135deg,#15e6d6,#ff4bd1 52%,#f8ff74);color:#09090b;font-weight:850}.layer-icon.melt{border-color:#64375a;background:radial-gradient(circle at 36% 34%,#fff 0 8%,#ff4bca 24%,#673eff 55%,#151019 78%);color:#fff;font-weight:800;text-shadow:0 1px 4px #190012}.layer-row strong,.layer-row small{display:block}.layer-row strong{color:#bfbfc4;font-size:9px}.layer-row small{margin-top:2px;color:#5f5f67;font-size:8px}.toggle{width:25px;height:14px;padding:1px;border:1px solid #3a3a41;border-radius:10px;background:#202025;cursor:pointer}.toggle span{display:block;width:10px;height:10px;border-radius:50%;background:#6c6c74;transition:transform .15s}.toggle.on{background:#363d25;border-color:#5b7132}.toggle.on span{transform:translate(10px);background:var(--accent)}.gradient-mask-controls{margin:0 0 8px;padding:0 8px 9px;border:1px solid #3b2940;border-radius:7px;background:#130f15}.gradient-preview-chip{width:28px;height:28px;border:1px solid #5c3c5c;border-radius:5px;background:linear-gradient(135deg,#13e3d4,#7350ff 45%,#ff4ccc 72%,#f4ff70);box-shadow:inset 0 0 0 1px #ffffff24}.gradient-mask-controls .brush-tool-switch button.gradient-active{border-color:#8d4c82;background:#32182e;color:#ff73db}.gradient-mask-controls .brush-tool-switch button.erase-active{border-color:#7c4248;background:#30181c;color:#ff8c96}.color-field{display:flex;align-items:center;gap:6px}.color-field input{width:22px;height:20px;padding:0;border:0;background:none}.color-field code{color:#8d8d95;font-size:8px}.hex-color-input{width:65px;height:22px;border:1px solid #2d2d33;border-radius:4px;background:#0b0b0e;color:#a9a9b1;padding:3px 5px;font:8px IBM Plex Mono,monospace;text-transform:uppercase}.background-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.background-grid button{display:flex;align-items:center;gap:6px;border:1px solid #28282e;border-radius:5px;background:#111115;padding:6px;color:#777780;text-transform:capitalize;font-size:8px;cursor:pointer}.background-grid button.active{border-color:#74747e;color:#dedee2}.background-grid span{width:14px;height:14px;border:1px solid #4a4a50;border-radius:3px}.swatch-checker{background:conic-gradient(#fff 25%,#bbb 0 50%,#fff 0 75%,#bbb 0);background-size:6px 6px}.swatch-white{background:#fff}.swatch-black{background:#050505}.swatch-custom{background:linear-gradient(135deg,#af45ff,#ffb13b)}.wide-color{width:100%;height:28px;margin-top:7px;border:1px solid #333;background:none}.project-card{display:flex;align-items:center;gap:9px;padding:8px;border:1px solid #27272d;border-radius:6px;background:#0c0c0f}.project-card>span{width:29px;height:29px;display:grid;place-items:center;border-radius:5px;background:#29292f;color:var(--accent);font-size:8px;font-weight:800}.project-card strong,.project-card small{display:block}.project-card strong{font-size:9px}.project-card small{margin-top:2px;color:#64646c;font-size:8px}.wide-button{width:100%;margin-top:8px}.effect-presets{margin-top:9px;padding-top:9px;border-top:1px solid #242429}.save-preset-row{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:5px}.save-preset-row input,.effect-preset-row>input{min-width:0;height:29px;border:1px solid #2d2d33;border-radius:5px;background:#0b0b0e;color:#d5d5da;padding:5px 7px;font-size:8px}.save-preset-row button,.preset-io button,.effect-preset-row>button,.preset-actions button{border:1px solid #2d2d33;border-radius:5px;background:#151519;color:#8f8f97;font-size:7px;cursor:pointer}.preset-empty{margin:6px 0;padding:12px;border:1px dashed #2b2b31;border-radius:5px;color:#5e5e66;text-align:center;font-size:8px}.effect-preset-list{display:grid;gap:5px;max-height:168px;overflow:auto;margin-top:6px}.effect-preset-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px}.effect-preset-row>input{height:34px}.effect-preset-row>button{padding:0 9px}.preset-apply{min-width:0;display:grid;grid-template-columns:35px minmax(0,1fr);gap:7px;align-items:center;border:1px solid #29292f;border-radius:5px;background:#101014;padding:5px;color:#95959d;text-align:left;cursor:pointer}.preset-apply>span:first-child{height:23px;border-radius:4px}.preset-apply strong,.preset-apply small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-apply strong{color:#b9b9bf;font-size:8px}.preset-apply small{margin-top:2px;color:#5f5f68;font-size:7px;text-transform:capitalize}.preset-actions{display:grid;grid-template-columns:26px 26px;gap:3px}.preset-actions button{padding:0}.preset-io{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px}.preset-io button{min-height:27px}.preset-io button:disabled{opacity:.3;cursor:default}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:20px;background:#020204c7;backdrop-filter:blur(8px);z-index:100}.export-dialog{width:min(520px,100%);max-height:calc(100vh - 40px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid #36363d;border-radius:11px;background:#111115;box-shadow:0 25px 90px #000000b3;overflow:hidden}.export-dialog>header,.export-dialog>footer{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;background:#0d0d10}.export-dialog>header{border-bottom:1px solid #27272d}.export-dialog>footer{justify-content:flex-end;gap:7px;border-top:1px solid #27272d}.export-dialog header small{color:#667348;font-size:7px;font-weight:800;letter-spacing:.14em}.export-dialog h2{margin:3px 0 0;font-size:16px}.export-dialog header button{width:28px;height:28px;border:1px solid #2d2d33;border-radius:5px;background:#17171b;color:#87878f;cursor:pointer}.export-dialog-body{overflow:auto;padding:5px 17px 14px}.export-group{padding:12px 0;border-bottom:1px solid #242429}.export-label{display:block;margin-bottom:7px;color:#8e8e96;font-size:8px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.export-segmented,.size-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.export-segmented button,.size-presets button{height:32px;border:1px solid #2d2d33;border-radius:5px;background:#151519;color:#818189;font-size:8px;cursor:pointer}.export-segmented button.active,.size-presets button.active{border-color:#64783a;background:#252d1a;color:var(--accent);box-shadow:inset 0 0 0 1px #b9ff4214}.dimension-row{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:end;margin-top:8px;color:#5f5f67}.dimension-row label{color:#6f6f77;font-size:7px}.dimension-row input,.export-two-column input,.filename-field input{width:100%;height:30px;margin-top:4px;border:1px solid #303036;border-radius:5px;background:#0b0b0e;color:#d7d7dc;padding:5px 8px;font:9px IBM Plex Mono,monospace}.export-hint{display:block;margin-top:7px;color:#65656d;font:7px IBM Plex Mono,monospace;text-align:right}.export-two-column{display:grid;grid-template-columns:1fr 1fr;gap:12px}.export-two-column .export-label{margin:0}.export-toggle-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;min-height:40px}.export-toggle-row+.export-toggle-row{border-top:1px solid #202025}.export-toggle-row strong,.export-toggle-row small{display:block}.export-toggle-row strong{color:#b6b6bc;font-size:9px}.export-toggle-row small{margin-top:2px;color:#65656d;font-size:7px}.export-toggle-row .toggle:disabled{opacity:.3;cursor:default}.export-color-row{display:flex;align-items:center;justify-content:space-between;margin-top:7px;color:#7b7b83;font-size:8px}.export-color-row input{width:40px;height:25px;padding:0;border:0;background:transparent}.filename-field .export-label{margin:0}.export-error{margin-top:10px;padding:9px;border:1px solid #66383d;border-radius:5px;background:#241316;color:#e9a7ac;font-size:8px}.export-dialog footer button{min-width:86px;height:32px;border:1px solid #303036;border-radius:5px;background:#18181c;color:#9c9ca4;font-size:8px;cursor:pointer}.export-dialog footer .primary-button{min-width:150px;border-color:var(--accent);background:var(--accent);color:#111407;font-weight:800}.export-dialog button:disabled{opacity:.45;cursor:wait}.statusbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-top:1px solid var(--line);background:#0b0b0e;padding:0 11px;color:#66666f;font-size:8px}.statusbar>div{display:flex;align-items:center;gap:7px}.status-center{justify-self:center;font-family:IBM Plex Mono,monospace}.status-center span{color:#333339}.zoom-control{justify-self:end;width:190px}.zoom-control button{border:0;background:none;color:#777;cursor:pointer}.zoom-control input{width:90px}.zoom-control strong{min-width:32px;color:#92929a;font-family:IBM Plex Mono,monospace;font-size:8px}@media(max-width:1180px){.workspace{grid-template-columns:248px minmax(390px,1fr) 248px}.workspace.left-closed{grid-template-columns:0 minmax(390px,1fr) 248px}.workspace.right-closed{grid-template-columns:248px minmax(390px,1fr) 0}.workspace.left-closed.right-closed{grid-template-columns:0 minmax(390px,1fr) 0}.topbar{grid-template-columns:250px 1fr 330px}}@media(max-width:920px){.topbar{grid-template-columns:1fr auto}.mode-switch{order:3;position:absolute;left:50%;transform:translate(-50%)}.toolbar-actions>button:not(.mobile-panel):not(.primary-button){display:none}.mobile-panel{display:inline-grid}.workspace,.workspace.left-closed,.workspace.right-closed,.workspace.left-closed.right-closed{grid-template-columns:1fr}.side-panel{position:absolute;top:58px;bottom:30px;width:286px;z-index:12;box-shadow:0 20px 40px #00000080}.left-panel{left:0}.right-panel{right:0}.side-panel.collapsed{width:0;opacity:0;overflow:hidden;border:0}.stage{grid-column:1}.status-center{display:none!important}}
