:root,.theme-light{--bg-main:#d9d8dd;--bg-panel:#eaeaed;--bg-card:#fdfdfd;--bg-hover:#e0e0e0;--text-main:#1a1a1a;--text-muted:#666;--accent:#4a90e2;--accent-hover:#357abd;--border-color:#ddd;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow:0 4px 12px #0000001a;--shadow-toolbar:0 2px 8px #00000014;--shadow-canvas:0 8px 24px #0000001f;--shadow-panel:-4px 0 16px #0000001a}.theme-dark{--bg-main:#161616;--bg-panel:#1f1f1f;--bg-card:#262626;--bg-hover:#2e2e2e;--text-main:#fff;--text-muted:#a0a0a0;--accent:#edc639;--accent-hover:#357abd;--border-color:#444;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow:0 4px 12px #0000004d;--shadow-toolbar:0 2px 8px #0006;--shadow-canvas:0 8px 24px #00000080;--shadow-panel:-4px 0 16px #0006}.buttonMode{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;min-width:64px;min-height:64px;color:var(--text-main);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px;transition:all .15s,border-color .15s;display:flex;scale:.9}.buttonMode:hover{background:var(--bg-hover)}.buttonMode.active{background:var(--bg-card);border-color:var(--accent)}.buttonMode .svgBox{width:20px;height:20px;color:var(--text-main);justify-content:center;align-items:center;display:flex}.buttonModeSvgBox svg{stroke:currentColor;width:100%;height:100%}.buttonModeText{color:var(--text-main);-webkit-user-select:none;user-select:none;text-align:center;margin:0;font-size:8px;line-height:1.2}#colorMenu{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);max-width:194px;max-height:400px;box-shadow:var(--shadow-panel);opacity:0;visibility:hidden;z-index:400;scrollbar-width:none;box-shadow:var(--shadow-canvas);flex-wrap:wrap;gap:6px;padding:8px;transition:opacity .2s,transform .2s,visibility .2s;display:flex;position:absolute;top:60px;left:16px;overflow-y:scroll;transform:translateY(-8px)}#colorMenu.open{opacity:1;visibility:visible;z-index:500;box-shadow:var(--shadow-canvas);transform:translateY(0)}.colorPreset{border-radius:var(--radius-sm);border:1px solid var(--border-color);cursor:pointer;width:32px;height:32px;transition:transform .1s}.colorPreset:hover{transform:scale(1.1)}#chosenColor{border:1px solid var(--accent);transition:all .2s;scale:1.1}.loaderBoxActive,.loaderBox{opacity:1;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:1px;width:50px;height:50px;margin:20px auto;transition:all .2s;display:grid}.loaderBox{display:none}.header{background:var(--bg-card);z-index:400;justify-content:left;width:100%;display:flex;position:fixed}.loaderElement{background:var(--border-color);background:var(--bg-hover);width:100%;height:100%;box-shadow:0 0 0px 0px var(--bg-card);transition:all .2s}.loaderElementActive{background:var(--accent);z-index:100;box-shadow:0 0 15px 1px var(--accent)}.presetOptionBox{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-sm);opacity:0;z-index:-200;visibility:hidden;padding:10px;transition:opacity .2s;position:fixed}.presetOptionBoxOpen{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-sm);opacity:1;z-index:400;visibility:visible;padding:10px;transition:opacity .2s;position:fixed}#toolbar{background:var(--bg-panel);border-bottom:1px solid var(--border-color);width:100%;height:60px;box-shadow:var(--shadow-toolbar);z-index:50;align-items:center;padding:0 16px;display:flex;position:fixed;top:0;left:0}#canvasBox{justify-content:center;align-items:center;display:flex;position:absolute;inset:60px 0 0}#canvas{background:var(--bg-card);width:512px;height:512px;box-shadow:var(--shadow-canvas);transition:all .2;opacity:.95;padding:4px;position:fixed}#panelPresetsBox{z-index:100;height:100vh;display:flex;position:fixed;top:0;right:0}.switchButton{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;width:40px;height:40px;color:var(--text-main);z-index:101;justify-content:center;align-items:center;transition:right .2s,background .15s;display:flex;position:absolute;right:0}.switchButtonActive{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;width:40px;height:40px;color:var(--text-main);z-index:101;justify-content:center;align-items:center;transition:right .2s,background .15s;display:flex;position:absolute;right:250px}.switchButton:hover{background:var(--bg-hover)}#panelPresets{background:var(--bg-panel);border-left:1px solid var(--border-color);width:250px;height:100vh;box-shadow:var(--shadow-panel);scrollbar-width:none;transition:right .2s;position:absolute;top:0;right:-250px;overflow-y:auto}#panelPresets.barOpen{right:0}#panelPresets h2{text-align:center;width:100%;padding-top:20px;font-size:14px}.presetBox{border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;align-items:center;gap:6px;padding:8px;transition:all .2s;display:flex}#presetsBoxContent{height:100%;margin-top:60px}.presetBox:hover{background:var(--bg-hover)}.presetPreview{border:1px solid var(--border-color);width:128px;height:128px;image-rendering:pixelated;border-radius:var(--radius-sm);opacity:.95}.presetTitle{color:var(--text-main);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0;font-size:12px;overflow:hidden}#toolbarLeft{justify-content:right;align-items:right;width:100%;margin-right:320px;display:flex}#menuAddingPreset{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);width:200px;box-shadow:var(--shadow-panel);opacity:0;visibility:hidden;z-index:100;grid-template-rows:auto;grid-template-columns:1fr 40px;align-items:center;gap:8px;padding:10px;transition:opacity .2s,transform .2s,visibility .2s;display:grid;position:fixed;transform:translateY(-8px)}#menuAddingPreset.open{opacity:1;visibility:visible;transform:translateY(0)}#menuAddingPreset input{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;height:40px;color:var(--text-main);padding:8px;font-size:14px}#menuAddingPreset input:focus{border-color:var(--accent);outline:none}#menuAddingPreset button{width:20px;height:20px}.recentColorsMenu{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);opacity:0;z-index:400;visibility:hidden;flex-wrap:wrap;gap:6px;padding:8px;transition:opacity .2s,transform .2s,visibility .2s;display:flex;position:fixed;transform:translateY(-8px)}.recentColorsMenuOpen{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);z-index:400;visibility:visible;opacity:1;gap:6px;padding:8px;transition:opacity .2s,transform .2s,visibility .2s;display:flex;position:fixed;transform:translateY(-8px)}.mainLoaderOpen{background:var(--bg-main);z-index:100;opacity:.95;visibility:visible;justify-content:center;align-items:center;width:100%;height:100vh;transition:opacity .4s;display:flex;position:fixed}.mainLoaderClose{background:var(--bg-main);visibility:hidden;opacity:0;justify-content:center;align-items:center;width:100%;height:100vh;transition:all .4s;display:flex;position:fixed}#mainLoaderBody{flex-direction:column;align-items:center;gap:16px;display:flex}#mainLoaderBody h2{color:var(--text-main);margin:0;font-size:18px}.mainLoaderCloseButton{background:0 0;border:none;position:absolute;top:16px;right:16px}.mainLoaderCloseButton:hover{background:var(--bg-hover)}.errorText{text-align:center;color:var(--text-muted);padding-top:4px}#page{flex-direction:column;width:100%;min-height:100vh;display:flex}*{margin:0;padding:0;transition:all 80ms}body{background:var(--bg-main);color:var(--text-main);font-family:sans-serif}
