:root{--ui-bg:#fbf7f1;--ui-bg-soft:#fffaf4;--ui-surface:#fffdf9db;--ui-surface-solid:#fffdf9;--ui-surface-muted:#f7efe6;--ui-text:#2e2432;--ui-text-muted:#7f7485;--ui-border:#5c444a24;--ui-border-strong:#5c444a3d;--ui-primary:#ff7f8f;--ui-primary-strong:#ef6678;--ui-primary-soft:#ff7f8f29;--ui-accent:#7b6dff;--ui-accent-soft:#7b6dff24;--ui-mint:#bfe6d6;--ui-yellow:#ffd98a;--ui-success:#2d9d78;--ui-danger:#cf4a5f;--ui-overlay:#38282f47;--ui-shadow-sm:0 8px 18px #422c3314;--ui-shadow-md:0 18px 42px #422c3324;--ui-shadow-lg:0 28px 72px #422c332e;--ui-radius-sm:12px;--ui-radius-md:18px;--ui-radius-lg:28px;--ui-focus-ring:0 0 0 4px #7b6dff29;--sans:"Manrope", "Segoe UI", "Roboto", "Noto Sans", system-ui, sans-serif;--heading:"Manrope", "Segoe UI", "Roboto", "Noto Sans", system-ui, sans-serif;--mono:ui-monospace, Consolas, monospace;--text:var(--ui-text-muted);--text-h:var(--ui-text);--bg:var(--ui-bg);--border:var(--ui-border);--code-bg:var(--ui-surface-muted);--accent:var(--ui-accent);--accent-bg:var(--ui-accent-soft);--accent-border:#7b6dff66;--social-bg:var(--ui-surface-muted);--shadow:var(--ui-shadow-sm);font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;min-height:100svh;margin:0 auto;display:flex}html,body{background:radial-gradient(circle at 8% 10%, #ffd98a6b, transparent 26%), radial-gradient(circle at 88% 12%, #bfe6d680, transparent 24%), var(--ui-bg);margin:0}button,input,textarea,select{font-family:inherit}button{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}h1,h2,h3,label{font-family:var(--heading);color:var(--text-h);-webkit-user-select:none;user-select:none;font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.loader{flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.loader__spinner{border:3px solid #2e24321f;border-top-color:var(--ui-accent);border-radius:50%;animation:.8s linear infinite spin}.loader--small .loader__spinner{border-width:2px;width:20px;height:20px}.loader--medium .loader__spinner{border-width:3px;width:40px;height:40px}.loader--large .loader__spinner{border-width:4px;width:60px;height:60px}.loader__text{color:var(--ui-text-muted);margin:0;font-size:14px}.loader__overlay{z-index:1000;background-color:#fffdf9cc;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}@keyframes spin{to{transform:rotate(360deg)}}.ai-generations-modal{z-index:160;background:var(--ui-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.ai-generations-modal__card{background:var(--ui-surface-solid);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);width:min(920px,100vw - 40px);max-height:min(92svh,900px);box-shadow:var(--ui-shadow-lg);flex-direction:column;gap:8px;padding:20px;display:flex;overflow:auto}.ai-generations-modal__header{justify-content:space-between;align-items:center;gap:10px;display:flex}.ai-generations-modal__header h3{color:var(--ui-text);margin:0;font-size:18px}.ai-generations-modal__header button{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.ai-generations-modal__header button:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.ai-generations-modal__header button:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.ai-generations-modal__header button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.ai-generations-modal__header button{border-radius:var(--ui-radius-sm);cursor:pointer;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:22px;line-height:1;display:inline-flex}.ai-generations-modal__empty{color:var(--ui-text-muted);padding:18px 6px;font-size:14px}.ai-generations-modal__loading{color:var(--ui-text-muted);font-size:13px}.ai-generations-modal__list{flex-direction:column;gap:8px;display:flex}.ai-generations-modal__item{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);flex-direction:column;gap:8px;padding:8px;display:flex}.ai-generations-modal__item-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.ai-generations-modal__date{color:var(--ui-text-muted);font-size:11px}.ai-generations-modal__rect{color:var(--ui-text);font-size:12px;font-weight:700}.ai-generations-modal__images{flex-flow:row;align-items:center;gap:8px;display:flex}.ai-generations-modal__image-wrap{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.ai-generations-modal__image-button{border:1px solid var(--ui-border);background:var(--ui-surface-muted);border-radius:var(--ui-radius-sm);cursor:zoom-in;width:100%;padding:6px;display:block;overflow:hidden}.ai-generations-modal__arrow{width:34px;color:var(--ui-text-muted);flex:none;justify-content:center;align-items:center;display:flex}.ai-generations-modal__image{object-fit:contain;object-position:center;border-radius:8px;width:100%;height:120px;display:block}.ai-generations-modal__missing{border:1px dashed var(--ui-border-strong);height:120px;color:var(--ui-text-muted);background:var(--ui-surface-muted);border-radius:8px;justify-content:center;align-items:center;font-size:12px;display:flex}.ai-generations-modal__prompt{color:var(--ui-text);white-space:pre-wrap;font-size:13px}.ai-generations-modal__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.ai-generations-modal__actions button{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.ai-generations-modal__actions button:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.ai-generations-modal__actions button:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.ai-generations-modal__actions button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.ai-generations-modal__actions button{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;padding:0 16px;align-items:center;gap:7px;min-height:38px;padding-inline:10px;font-size:13px;font-weight:700;display:inline-flex}.ai-generations-modal__actions button:disabled{opacity:.5;cursor:not-allowed}.ai-generations-modal__button--primary{background:var(--ui-text)!important;color:#fffdf9!important;border-color:#0000!important}.drawing-node{pointer-events:auto}.image-node-placeholder{pointer-events:none}.shape-node{pointer-events:auto}.text-node{white-space:pre-wrap}.canvas-object-renderer{pointer-events:auto}.canvas-workspace{touch-action:none;flex:auto;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.canvas-workspace canvas{touch-action:none}.canvas-workspace__textarea{z-index:20;resize:none;color:#0f172a;box-sizing:border-box;white-space:pre-wrap;background:0 0;border:none;outline:none;padding:0;font-family:inherit;line-height:1;position:absolute;overflow:auto}.canvas-workspace__text-drag-handle{z-index:21;cursor:grab;touch-action:none;background:#fffffff0;border:1px solid #0ea5e96b;border-radius:999px;place-items:center;width:24px;height:20px;padding:0;display:grid;position:absolute;box-shadow:0 4px 12px #0f172a29}.canvas-workspace__text-drag-handle svg{color:#0ea5e9}.canvas-workspace__text-drag-handle--active{cursor:grabbing;background:#e0f2fe}.canvas-workspace__object-hide-handle{z-index:24;cursor:pointer;touch-action:none;background:#fffffff0;border:1px solid #cf4a5f6b;border-radius:999px;place-items:center;width:24px;height:20px;padding:0;display:grid;position:absolute;box-shadow:0 4px 12px #0f172a29}.canvas-workspace__object-hide-handle svg{color:var(--ui-danger)}.canvas-workspace__ai-handles-layer{z-index:26;pointer-events:none;position:absolute;inset:0}.canvas-workspace__ai-handle{pointer-events:auto;background:#fff;border:2px solid #0ea5e9;border-radius:3px;width:14px;height:14px;margin-top:-7px;margin-left:-7px;position:absolute;box-shadow:0 2px 8px #0f172a29}.canvas-workspace__ai-handle--n,.canvas-workspace__ai-handle--s{cursor:ns-resize}.canvas-workspace__ai-handle--e,.canvas-workspace__ai-handle--w{cursor:ew-resize}.canvas-workspace__ai-handle--nw,.canvas-workspace__ai-handle--se{cursor:nwse-resize}.canvas-workspace__ai-handle--ne,.canvas-workspace__ai-handle--sw{cursor:nesw-resize}.canvas-workspace__ai-drag-zone{pointer-events:auto;cursor:move;position:absolute}.ai-prompt-modal{z-index:120;background:var(--ui-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:20px;justify-content:center;align-items:flex-start;padding:20px;display:flex;position:fixed;inset:0;overflow:auto}.ai-prompt-modal__card{background:var(--ui-surface-solid);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);width:min(680px,100vw - 40px);box-shadow:var(--ui-shadow-lg);flex-direction:column;gap:12px;margin-block:auto;padding:20px;display:flex;overflow:visible}.ai-prompt-modal__header{justify-content:space-between;align-items:center;gap:10px;display:flex}.ai-prompt-modal__header h3{color:var(--ui-text);margin:0;font-size:18px}.ai-prompt-modal__header .ai-prompt-modal__close-button{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.ai-prompt-modal__header .ai-prompt-modal__close-button:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.ai-prompt-modal__header .ai-prompt-modal__close-button:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.ai-prompt-modal__header .ai-prompt-modal__close-button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.ai-prompt-modal__header .ai-prompt-modal__close-button{border-radius:var(--ui-radius-sm);cursor:pointer;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:22px;line-height:1;display:inline-flex}.ai-prompt-modal__header .ai-prompt-modal__close-button:disabled{cursor:default;opacity:.5}.ai-prompt-modal__header-actions{align-items:center;gap:8px;display:flex}.ai-prompt-modal__credits-button{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.ai-prompt-modal__credits-button:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.ai-prompt-modal__credits-button:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.ai-prompt-modal__credits-button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.ai-prompt-modal__credits-button{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;background:var(--ui-primary-soft);border-color:#ef66782e;align-items:center;gap:6px;min-height:34px;padding:0 16px;padding-inline:10px;font-weight:700;display:inline-flex}.ai-prompt-modal__previews{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.ai-prompt-modal__prompt-row{grid-template-columns:minmax(0,1fr) 132px;align-items:stretch;gap:12px;display:grid}.ai-prompt-modal__source-preview{flex-direction:column;gap:6px;min-width:0;display:flex}.ai-prompt-modal__source-button{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-muted);cursor:zoom-in;width:100%;height:90px;padding:6px;position:relative;overflow:hidden}.ai-prompt-modal__source-image{object-fit:contain;border-radius:6px;width:100%;height:100%;display:block}.ai-prompt-modal__source-zoom{border-radius:var(--ui-radius-sm);color:#fffdf9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1414169e;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex;position:absolute;top:8px;right:8px}.ai-prompt-modal__source-size{color:var(--ui-text-muted);text-align:center;font-size:11px;font-weight:700;line-height:1.2}.ai-prompt-modal__preview-block{flex-direction:column;gap:6px;min-width:0;display:flex}.ai-prompt-modal__label{color:var(--ui-text-muted);font-size:13px;font-weight:600}.ai-prompt-modal__preview-wrap{background:var(--ui-surface-muted);border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);justify-content:center;padding:8px;display:flex}.ai-prompt-modal__preview{object-fit:contain;border-radius:8px;max-width:100%;max-height:46svh;display:block}.ai-prompt-modal__preview-button{cursor:zoom-in;background:0 0;border:0;padding:0}.ai-prompt-modal__textarea{box-sizing:border-box;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-solid);width:100%;min-height:42px;color:var(--ui-text);font:inherit;transition:border-color .16s,box-shadow .16s,background .16s;box-shadow:inset 0 1px #ffffffe6}.ai-prompt-modal__textarea:focus{box-shadow:var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.ai-prompt-modal__textarea{font:inherit;resize:vertical;padding:12px}.ai-prompt-modal__textarea:disabled{background:var(--ui-surface-muted);color:var(--ui-text-muted)}.ai-prompt-modal__error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:10px 12px;font-size:14px}.ai-prompt-modal__model-row{flex-direction:column;gap:8px;display:flex}.ai-prompt-modal__model-row label{color:var(--ui-text);font-size:13px;font-weight:700}.ai-prompt-modal__model-row select{box-sizing:border-box;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-solid);width:100%;min-height:42px;color:var(--ui-text);font:inherit;transition:border-color .16s,box-shadow .16s,background .16s;box-shadow:inset 0 1px #ffffffe6}.ai-prompt-modal__model-row select:focus{box-shadow:var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.ai-prompt-modal__model-row select{min-height:40px;padding-inline:10px}.ai-prompt-modal__producer-controls{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.ai-prompt-modal__producer-controls select{box-sizing:border-box;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-solid);width:100%;min-height:42px;color:var(--ui-text);font:inherit;transition:border-color .16s,box-shadow .16s,background .16s;box-shadow:inset 0 1px #ffffffe6}.ai-prompt-modal__producer-controls select:focus{box-shadow:var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.ai-prompt-modal__producer-controls select{min-height:38px;padding-inline:10px;font-weight:700}.ai-prompt-modal__producer-controls button{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.ai-prompt-modal__producer-controls button:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.ai-prompt-modal__producer-controls button:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.ai-prompt-modal__producer-controls button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.ai-prompt-modal__producer-controls button{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;min-height:38px;padding:0 16px;padding-inline:12px;font-size:13px;font-weight:700}.ai-prompt-modal__producer-controls button.is-active{background:var(--ui-primary-soft);border-color:#ef66784d}.ai-prompt-modal__producer-description{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-bg-soft);color:var(--ui-text-muted);padding:9px 10px;font-size:12px;line-height:1.35}.ai-prompt-modal__model-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.ai-prompt-modal__model-card{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-solid);grid-template-columns:minmax(0,1fr) 38px;align-items:stretch;display:grid;overflow:hidden}.ai-prompt-modal__model-card.is-active{border-color:#ef667885;box-shadow:0 0 0 2px #ef66781f}.ai-prompt-modal__model-select{text-align:left;cursor:pointer;min-width:0;color:var(--ui-text);background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:10px 12px;display:grid}.ai-prompt-modal__model-select:disabled{cursor:default;opacity:.55}.ai-prompt-modal__model-producer{text-transform:uppercase;color:var(--ui-text-muted);grid-column:1/-1;font-size:11px;font-weight:800}.ai-prompt-modal__model-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:800;overflow:hidden}.ai-prompt-modal__model-price{color:var(--ui-text);align-items:center;gap:4px;font-size:13px;font-weight:800;display:inline-flex}.ai-prompt-modal__favorite{border:0;border-left:1px solid var(--ui-border);background:var(--ui-bg-soft);color:var(--ui-text-muted);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.ai-prompt-modal__favorite.is-active{color:#b45309;background:#fff7ed}.ai-prompt-modal__loader{justify-content:center;align-items:center;min-height:72px;display:flex}.ai-prompt-modal__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.ai-prompt-modal__actions button{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.ai-prompt-modal__actions button:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.ai-prompt-modal__actions button:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.ai-prompt-modal__actions button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.ai-prompt-modal__actions button{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;align-items:center;gap:7px;padding:0 16px;font-weight:700;display:inline-flex}.ai-prompt-modal__actions button:disabled{cursor:default;opacity:.5}.ai-prompt-modal__button--primary{background:var(--ui-text)!important;color:#fffdf9!important;border-color:#0000!important}@media (width<=640px){.ai-prompt-modal__prompt-row{grid-template-columns:minmax(0,1fr)}.ai-prompt-modal__source-preview{order:-1;width:min(148px,100%)}.ai-prompt-modal__model-list{grid-template-columns:minmax(0,1fr)}}.editor-toolbar{-webkit-user-select:none;user-select:none;width:100%;overflow:hidden}.editor-toolbar__scroll{padding:0 8px;scrollbar-width:none;gap:10px;padding-right:100px;display:flex;overflow-x:auto}.editor-toolbar__scroll::-webkit-scrollbar{display:none}.editor-toolbar__tool{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.editor-toolbar__tool:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.editor-toolbar__tool:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.editor-toolbar__tool:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.editor-toolbar__tool{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;padding:0 16px;white-space:nowrap;min-width:142px;min-height:60px;box-shadow:none;background:#fffdf9eb;flex:none;justify-content:flex-start;align-items:center;gap:10px;padding-inline:14px;font-weight:700;display:inline-flex}.editor-toolbar__tool:hover:not(:disabled){border-color:var(--ui-border);box-shadow:none;transform:none}.editor-toolbar__icon{width:36px;height:36px;color:var(--ui-text);background:var(--ui-primary-soft);border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.editor-toolbar__copy{flex-direction:column;align-items:flex-start;line-height:1.05;display:flex}.editor-toolbar__copy strong{letter-spacing:-.02em;font-size:15px}.editor-toolbar__copy span{color:var(--ui-text-muted);font-size:12px;font-weight:500}@media (width<=1024px){.editor-toolbar__scroll{padding:0 8px;gap:8px;padding-right:100px}.editor-toolbar__tool{gap:8px;min-width:112px;min-height:58px;padding-inline:10px}.editor-toolbar__icon{border-radius:12px;width:32px;height:32px}.editor-toolbar__copy strong{font-size:14px}.editor-toolbar__copy span{font-size:11px}}.image-zoom-modal{z-index:220;background:#020617db;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}.image-zoom-modal__card{background:#0f172a;border:1px solid #94a3b859;border-radius:14px;flex-direction:column;width:min(1200px,100vw - 24px);height:min(92svh,960px);display:flex;overflow:hidden}.image-zoom-modal__header{color:#f8fafc;justify-content:space-between;align-items:center;height:48px;padding:0 10px 0 14px;display:flex}.image-zoom-modal__header button{color:#f8fafc;cursor:pointer;background:0 0;border:1px solid #94a3b88c;border-radius:10px;width:34px;height:34px;font-size:22px;line-height:1}.image-zoom-modal__title{font-size:14px;font-weight:700}.image-zoom-modal__toolbar{align-items:center;gap:8px;height:46px;padding:0 14px 8px;display:flex}.image-zoom-modal__toolbar button{color:#e2e8f0;cursor:pointer;background:0 0;border:1px solid #94a3b88c;border-radius:8px;justify-content:center;align-items:center;min-width:38px;height:30px;padding:0 10px;display:inline-flex}.image-zoom-modal__viewport{touch-action:none;flex:1;justify-content:center;align-items:center;padding:12px;display:flex;overflow:hidden}.image-zoom-modal__viewport--zoomed{cursor:grab}.image-zoom-modal__viewport--panning{cursor:grabbing}.image-zoom-modal__image{transform-origin:50%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;max-width:none;max-height:none;transition:transform .12s}.project-picker-modal{z-index:60;background:var(--ui-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.project-picker-modal__card{background:var(--ui-surface-solid);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);width:min(560px,100%);box-shadow:var(--ui-shadow-lg);flex-direction:column;gap:14px;padding:20px;display:flex}.project-picker-modal__title{color:var(--ui-text);margin:0;font-size:22px}.project-picker-modal__header{justify-content:space-between;align-items:center;gap:10px;display:flex}.project-picker-modal__close{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.project-picker-modal__close:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.project-picker-modal__close:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.project-picker-modal__close:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.project-picker-modal__close{border-radius:var(--ui-radius-sm);cursor:pointer;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:22px;line-height:1;display:inline-flex}.project-picker-modal__list{flex-direction:column;gap:8px;max-height:360px;display:flex;overflow:auto}.project-picker-modal__item{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.project-picker-modal__item:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.project-picker-modal__item:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.project-picker-modal__item:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.project-picker-modal__item{border-radius:var(--ui-radius-sm);text-align:left;cursor:pointer;padding:12px}.project-picker-modal__item-name{color:var(--ui-text);font-weight:700}.project-picker-modal__item-meta{color:var(--ui-text-muted);font-size:13px}.project-picker-modal__empty{border:1px dashed var(--ui-border-strong);border-radius:var(--ui-radius-sm);text-align:center;color:var(--ui-text-muted);padding:18px}.project-picker-modal__create{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.project-picker-modal__create:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.project-picker-modal__create:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.project-picker-modal__create:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.project-picker-modal__create{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;background:var(--ui-text);color:#fffdf9;border-color:#0000;padding:0 16px;font-weight:700}.project-picker-modal__create:hover:not(:disabled){background:#241c28}.save-settings-modal{z-index:90;background:var(--ui-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.save-settings-modal__card{background:var(--ui-surface-solid);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);width:min(520px,100%);box-shadow:var(--ui-shadow-lg);flex-direction:column;gap:12px;padding:20px;display:flex}.save-settings-modal__header{justify-content:space-between;align-items:center;gap:10px;display:flex}.save-settings-modal__title{color:var(--ui-text);margin:0;font-size:22px}.save-settings-modal__section{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);padding:12px}.save-settings-modal__section-title{color:var(--ui-text);font-weight:700}.save-settings-modal__text{color:var(--ui-text-muted);margin-top:2px;font-size:13px}.save-settings-modal__download{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);margin-top:10px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.save-settings-modal__download:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.save-settings-modal__download:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.save-settings-modal__download:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.save-settings-modal__download{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:700;display:inline-flex}.save-settings-modal__close-x{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.save-settings-modal__close-x:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.save-settings-modal__close-x:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.save-settings-modal__close-x:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.save-settings-modal__close-x{border-radius:var(--ui-radius-sm);cursor:pointer;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:22px;line-height:1;display:inline-flex}.save-settings-modal__project-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.save-settings-modal__project-action{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.save-settings-modal__project-action:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.save-settings-modal__project-action:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.save-settings-modal__project-action:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.save-settings-modal__project-action{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;background:var(--ui-primary-soft);border-color:#ef66782e;min-height:40px;padding:0 16px;font-weight:700}.setting-popup{-webkit-user-select:none;user-select:none;background:var(--ui-surface-solid);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);width:min(320px,100%);box-shadow:var(--ui-shadow-lg);flex-direction:column;gap:10px;padding:10px;display:flex;position:relative}.setting-popup:after{content:"";background:var(--ui-surface-solid);border-right:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border);width:14px;height:14px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.setting-popup__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.setting-popup__title{color:var(--ui-text);font-size:13px;font-weight:700}.setting-popup__close{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.setting-popup__close:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.setting-popup__close:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.setting-popup__close:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.setting-popup__close{border-radius:var(--ui-radius-sm);cursor:pointer;cursor:pointer;width:28px;height:28px;color:var(--ui-text);justify-content:center;align-items:center;padding:0;font-size:20px;line-height:1;display:inline-flex}.setting-popup__content{flex-direction:column;gap:8px;display:flex}.color-picker-popup__input{box-sizing:border-box;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-solid);width:100%;min-height:42px;color:var(--ui-text);font:inherit;transition:border-color .16s,box-shadow .16s,background .16s;box-shadow:inset 0 1px #ffffffe6}.color-picker-popup__input:focus{box-shadow:var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.color-picker-popup__input{min-height:38px;padding:0 10px;font-weight:600}.slider-setting-popup__value{color:var(--ui-text-muted);font-size:13px;font-weight:600}.slider-setting-popup__range{width:100%}.font-picker-popup{flex-direction:column;gap:8px;width:min(320px,100vw - 34px);display:flex}.font-picker-popup__search{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;height:36px;padding:0 10px;font-size:14px}.font-picker-popup__search::placeholder{color:#94a3b8}.font-picker-popup__add-url{gap:6px;display:flex}.font-picker-popup__url-input{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;flex:auto;min-width:0;height:36px;padding:0 10px;font-size:13px}.font-picker-popup__url-input::placeholder{color:#94a3b8}.font-picker-popup__url-button{color:#fff;cursor:pointer;background:#0f172a;border:1px solid #0f172a;border-radius:8px;flex:none;padding:0 10px;font-size:13px;font-weight:600}.font-picker-popup__error{color:#dc2626;font-size:12px}.font-picker-popup__list{flex-direction:column;gap:6px;max-height:280px;display:flex;overflow-y:auto}.font-picker-popup__item{color:#0f172a;cursor:pointer;text-align:left;background:#fff;border:1px solid #dbe6f2;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.font-picker-popup__item--active{background:#f0f9ff;border-color:#0ea5e9}.font-picker-popup__name{white-space:nowrap;text-overflow:ellipsis;flex:auto;font-size:13px;font-weight:600;overflow:hidden}.font-picker-popup__preview{flex:none;font-size:14px;line-height:1}.font-picker-popup__remove{color:#64748b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:18px;line-height:1;display:inline-flex}.font-picker-popup__remove:hover{color:#dc2626;border-color:#ef4444}.font-picker-popup__status{color:#64748b;padding:6px 2px;font-size:12px}.shape-controls{flex-shrink:0}.tool-submenu{box-sizing:border-box;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;width:100%;min-width:0;padding-left:8px;display:flex}.tool-submenu__back{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.tool-submenu__back:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.tool-submenu__back:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.tool-submenu__back:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.tool-submenu__back{border-radius:var(--ui-radius-sm);cursor:pointer;flex:none;justify-content:center;align-items:center;width:42px;height:42px;padding:0;display:inline-flex}.tool-submenu__content{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.tool-submenu__content--horizontal{scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:8px 0;overflow:auto hidden}.tool-submenu__content--horizontal::-webkit-scrollbar{display:none}.tool-submenu__content--horizontal:after{content:"";flex:0 0 50px;height:1px}.tool-submenu__draw-tools{scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:center;gap:10px;width:100%;padding:8px 0;display:flex;overflow:auto hidden}.tool-submenu__draw-tools::-webkit-scrollbar{display:none}.tool-submenu__draw-tools:after{content:"";flex:0 0 50px;height:1px}.tool-submenu__row,.tool-submenu__control{flex-shrink:0;align-items:center;gap:10px;display:flex}.tool-submenu__control--separated{margin-left:8px;padding-left:14px;position:relative}.tool-submenu__control--separated:before{content:"";background:var(--ui-border-strong);opacity:.85;width:1px;height:28px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.tool-submenu__group{flex-shrink:0;align-items:center;gap:10px;display:flex}.tool-submenu__group+.tool-submenu__group{margin-left:8px;padding-left:14px;position:relative}.tool-submenu__group+.tool-submenu__group:before{content:"";background:var(--ui-border-strong);opacity:.85;width:1px;height:28px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.tool-submenu__mode-controls{flex-shrink:0;align-items:center;gap:10px;display:flex}.tool-submenu__mode-controls:before,.tool-submenu__mode-controls:after{content:"";background:var(--ui-border-strong);opacity:.85;flex:none;width:1px;height:28px}.tool-submenu__toggle,.tool-submenu__action{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.tool-submenu__toggle:hover:not(:disabled),.tool-submenu__action:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.tool-submenu__toggle:focus-visible,.tool-submenu__action:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.tool-submenu__toggle:disabled,.tool-submenu__action:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.tool-submenu__toggle,.tool-submenu__action{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;box-shadow:none;white-space:nowrap;align-items:center;gap:6px;padding:0 16px;font-size:13px;font-weight:700;display:inline-flex}.tool-submenu__toggle:hover:not(:disabled),.tool-submenu__action:hover:not(:disabled){box-shadow:none;transform:none}.tool-submenu__action--danger{color:var(--ui-danger);background:#cf4a5f1a;border-color:#cf4a5f5c}.tool-submenu__toggle--active{background:var(--ui-text);color:#fffdf9;border-color:#0000}.tool-submenu__color-preview{border:2px solid var(--ui-surface-solid);width:26px;height:26px;box-shadow:0 0 0 1px var(--ui-border-strong);border-radius:50%}.tool-submenu__color-indicator{border:2px solid var(--ui-surface-solid);width:16px;height:16px;box-shadow:0 0 0 1px var(--ui-border-strong);border-radius:999px;margin-left:2px}.tool-submenu__floating-layer{z-index:180;width:max-content;max-width:calc(100vw - 16px);position:fixed;transform:translate(-50%,-100%)}.tool-submenu__modal-overlay{z-index:190;background:var(--ui-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}.tool-submenu__modal-card{width:100%;max-width:min(360px,100vw - 24px)}.tool-submenu__modal-card .setting-popup:after{display:none}.tool-submenu__hint{color:var(--ui-text-muted);white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:600}@media (width<=1024px){.tool-submenu{gap:8px;padding-left:8px}.tool-submenu__back{width:40px;height:40px}.tool-submenu__content,.tool-submenu__draw-tools{gap:8px;padding:6px 0}.tool-submenu__row,.tool-submenu__control,.tool-submenu__mode-controls{gap:8px}.tool-submenu__control--separated{margin-left:6px;padding-left:12px}.tool-submenu__group{gap:8px}.tool-submenu__group+.tool-submenu__group{margin-left:6px;padding-left:12px}.tool-submenu__toggle,.tool-submenu__action{min-height:40px;padding-inline:10px;font-size:12px}}.workspace-size-modal{z-index:80;background:var(--ui-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.workspace-size-modal__card{background:var(--ui-surface-solid);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);width:min(480px,100%);box-shadow:var(--ui-shadow-lg);flex-direction:column;gap:12px;padding:20px;display:flex}.workspace-size-modal__title{color:var(--ui-text);margin:0;font-size:20px}.workspace-size-modal__label{color:var(--ui-text);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.workspace-size-modal__label input{box-sizing:border-box;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-solid);width:100%;min-height:42px;color:var(--ui-text);font:inherit;transition:border-color .16s,box-shadow .16s,background .16s;box-shadow:inset 0 1px #ffffffe6}.workspace-size-modal__label input:focus{box-shadow:var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.workspace-size-modal__label input{padding:0 10px}.workspace-size-modal__label input:disabled{opacity:.58;cursor:not-allowed}.workspace-size-modal__row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.workspace-size-modal__checkbox{color:var(--ui-text);align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.workspace-size-modal__checkbox input{width:18px;height:18px;accent-color:var(--ui-primary);margin:1px 0 0}.workspace-size-modal__checkbox span{line-height:1.2}.workspace-size-modal__actions{justify-content:flex-end;gap:10px;display:flex}.workspace-size-modal__btn{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.workspace-size-modal__btn:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.workspace-size-modal__btn:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.workspace-size-modal__btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.workspace-size-modal__btn{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;padding:0 16px;font-weight:700}.workspace-size-modal__btn--primary{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.workspace-size-modal__btn--primary:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.workspace-size-modal__btn--primary:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.workspace-size-modal__btn--primary:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.workspace-size-modal__btn--primary{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;background:var(--ui-text);color:#fffdf9;border-color:#0000;padding:0 16px;font-weight:700}.workspace-size-modal__btn--primary:hover:not(:disabled){background:#241c28}.credits-modal{z-index:140;background:var(--ui-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.credits-modal__card{background:var(--ui-surface-solid);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);box-shadow:var(--ui-shadow-lg);flex-direction:column;gap:12px;width:min(760px,100%);max-height:min(88svh,820px);padding:20px;display:flex;overflow:auto}.credits-modal__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.credits-modal__header h3{color:var(--ui-text);margin:0;font-size:20px}.credits-modal__header button{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.credits-modal__header button:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.credits-modal__header button:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.credits-modal__header button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.credits-modal__header button{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;background:var(--ui-primary-soft);border-color:#ef66782e;min-height:34px;padding:0 16px;padding-inline:12px;font-weight:700}.credits-modal__header-actions{align-items:center;gap:8px;display:flex}.credits-modal__close-x{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.credits-modal__close-x:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.credits-modal__close-x:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.credits-modal__close-x:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.credits-modal__close-x{border-radius:var(--ui-radius-sm);cursor:pointer;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:22px;line-height:1;display:inline-flex;padding:0!important}.credits-modal__tabs{flex-wrap:wrap;gap:8px;display:flex}.credits-modal__tabs button{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.credits-modal__tabs button:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.credits-modal__tabs button:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.credits-modal__tabs button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.credits-modal__tabs button{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;min-height:36px;padding:0 16px;padding-inline:14px;font-weight:700}.credits-modal__tabs button.is-active{background:var(--ui-primary-soft);border-color:#ef66784d}.credits-modal__state{color:var(--ui-text-muted);padding:8px;font-size:14px}.credits-modal__state--error{color:var(--ui-danger)}.credits-modal__metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.credits-modal__metric-label{color:var(--ui-text-muted);font-size:12px}.credits-modal__metric-value{color:var(--ui-text);font-size:26px;font-weight:800}.credits-modal__metric-value--small{font-size:15px;font-weight:700}.credits-modal__extension-note{border-radius:var(--ui-radius-sm);background:var(--ui-primary-soft);color:var(--ui-text);border:1px solid #ef667838;margin-top:10px;padding:10px 12px;font-size:13px;font-weight:600}.credits-modal__payment-link{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-muted);flex-direction:column;gap:8px;margin-top:10px;padding:12px;display:flex}.credits-modal__payment-link input{box-sizing:border-box;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-solid);width:100%;min-height:42px;color:var(--ui-text);font:inherit;transition:border-color .16s,box-shadow .16s,background .16s;box-shadow:inset 0 1px #ffffffe6}.credits-modal__payment-link input:focus{box-shadow:var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.credits-modal__payment-link input{min-height:38px;padding-inline:10px;font-size:12px}.credits-modal__payment-link-title{color:var(--ui-text);font-size:13px;font-weight:700}.credits-modal__payment-link-actions{flex-wrap:wrap;gap:8px;display:flex}.credits-modal__payment-link-actions button{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.credits-modal__payment-link-actions button:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.credits-modal__payment-link-actions button:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.credits-modal__payment-link-actions button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.credits-modal__payment-link-actions button{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;min-height:36px;padding:0 16px;font-weight:700}.credits-modal__tariffs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.credits-modal__tariff{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-bg-soft);flex-direction:column;gap:8px;padding:12px;display:flex}.credits-modal__tariff-title{color:var(--ui-text);font-size:16px;font-weight:800}.credits-modal__tariff-credits{color:var(--ui-text-muted);font-size:13px}.credits-modal__tariff-prices{flex-direction:column;gap:6px;display:flex}.credits-modal__tariff-prices button{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.credits-modal__tariff-prices button:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.credits-modal__tariff-prices button:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.credits-modal__tariff-prices button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.credits-modal__tariff-prices button{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;justify-content:flex-start;min-height:36px;padding:0 16px;padding-inline:12px;font-weight:700}.credits-modal__list{flex-direction:column;gap:8px;display:flex}.credits-modal__row{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;padding:10px 12px;display:grid}.credits-modal__row-title{color:var(--ui-text);font-size:14px;font-weight:700}.credits-modal__row-subtitle{color:var(--ui-text-muted);font-size:12px}.credits-modal__row-meta{color:var(--ui-text);text-align:right;font-size:13px;font-weight:700}.credits-modal__row-date{color:var(--ui-text-muted);grid-column:1/-1;font-size:11px}@media (width<=900px){.credits-modal__card{padding:20px}.credits-modal__metrics,.credits-modal__tariffs{grid-template-columns:minmax(0,1fr)}}.hidden-objects-modal{width:min(280px,100vw - 24px)}.hidden-objects-modal .setting-popup{gap:8px;width:100%;padding:8px}.hidden-objects-modal__empty{color:var(--ui-text-muted);padding:2px;font-size:12px}.hidden-objects-modal__list{flex-direction:column;gap:6px;display:flex}.hidden-objects-modal__row{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.hidden-objects-modal__label{text-transform:lowercase;min-width:0;color:var(--ui-text);font-size:12px;font-weight:700}.hidden-objects-modal__toggle{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.hidden-objects-modal__toggle:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.hidden-objects-modal__toggle:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.hidden-objects-modal__toggle:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.hidden-objects-modal__toggle{border-radius:var(--ui-radius-sm);cursor:pointer;flex:none;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex}.editor-page{isolation:isolate;box-sizing:border-box;background:var(--ui-bg);flex-direction:column;height:100svh;min-height:100svh;padding:0;display:flex;position:relative;overflow:hidden}.editor-page__header{z-index:60;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex;position:absolute;top:14px;left:14px;right:14px}.editor-page__history{gap:8px;display:flex}.editor-page__history button{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.editor-page__history button:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.editor-page__history button:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.editor-page__history button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.editor-page__history button{border-radius:var(--ui-radius-sm);cursor:pointer;justify-content:center;align-items:center;width:42px;height:42px;padding:0;display:inline-flex}.editor-page__title-wrap{flex-direction:column;flex:1;align-items:flex-start;gap:3px;min-width:0;display:flex}.editor-page__title-wrap h1{text-align:left;letter-spacing:-.05em;width:100%;max-width:100%;color:var(--ui-text);white-space:nowrap;text-overflow:clip;cursor:pointer;-webkit-tap-highlight-color:transparent;outline:none;margin:0;font-size:clamp(18px,2vw,24px);font-weight:800;line-height:1;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 28px),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 28px),#0000 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.editor-page__title-wrap h1:focus-visible{outline:none}.editor-page__size{color:var(--ui-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;outline:none;margin:0;padding:0;font-size:12px;font-weight:700}.editor-page__size:focus-visible{outline:none}.editor-page__actions{gap:8px;display:flex}.editor-page__credits{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.editor-page__credits:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.editor-page__credits:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.editor-page__credits:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.editor-page__credits{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;background:var(--ui-primary-soft);white-space:nowrap;border-color:#ef66782e;align-items:center;gap:6px;min-height:42px;padding:0 16px;padding-inline:14px;font-size:13px;font-weight:800;display:inline-flex}.editor-page__save{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.editor-page__save:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.editor-page__save:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.editor-page__save:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.editor-page__save{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;background:var(--ui-text);color:#fffdf9;border-color:#0000;padding:0 16px;font-weight:700}.editor-page__save:hover:not(:disabled){background:#241c28}.editor-page__save{align-items:center;gap:8px;display:inline-flex}.editor-page__canvas-wrap{background:0 0;border:0;border-radius:0;display:flex;position:absolute;inset:0;overflow:hidden}.editor-page__loading-overlay{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf9c7;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.editor-page__footer{z-index:60;-webkit-user-select:none;user-select:none;border-top:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-surface);box-shadow:var(--ui-shadow-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);align-items:center;padding:15px;display:flex;position:absolute;bottom:14px;left:14px;right:14px}.editor-page__footer-main{width:100%;position:relative}.editor-page__hidden-popup{z-index:220;position:fixed;transform:translate(-50%,calc(-100% - 10px))}.editor-page--empty,.editor-page--new{justify-content:center;align-items:center}.editor-page__empty-card{background:var(--ui-surface-solid);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);box-shadow:var(--ui-shadow-lg);align-items:center;gap:12px;padding:20px;display:flex}.editor-page__empty-card button{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.editor-page__empty-card button:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.editor-page__empty-card button:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.editor-page__empty-card button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.editor-page__empty-card button{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;background:var(--ui-text);color:#fffdf9;border-color:#0000;padding:0 16px;font-weight:700}.editor-page__empty-card button:hover:not(:disabled){background:#241c28}.editor-bottom-sheet{z-index:95;background:var(--ui-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:center;align-items:flex-end;padding:20px;display:flex;position:fixed;inset:0}.editor-bottom-sheet__card{background:var(--ui-surface-solid);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);box-shadow:var(--ui-shadow-lg);border-radius:var(--ui-radius-md) var(--ui-radius-md) 0 0;flex-direction:column;gap:10px;width:100%;padding:16px;display:flex}.editor-bottom-sheet__card h3{color:var(--ui-text);margin:0}.editor-bottom-sheet__card p{color:var(--ui-text-muted);font-size:13px}.editor-bottom-sheet__card button{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.editor-bottom-sheet__card button:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.editor-bottom-sheet__card button:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.editor-bottom-sheet__card button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.editor-bottom-sheet__card button{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;padding:0 16px;font-weight:700}.editor-bottom-sheet__shape-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}@media (width<=1024px){.editor-page{padding:0}.editor-page__header{box-shadow:none;border-inline:0;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:6px 8px;display:grid;position:absolute;top:0;left:0;right:0}.editor-page__history{gap:4px}.editor-page__history button{width:36px;height:36px}.editor-page__title-wrap{order:initial;gap:2px;width:auto}.editor-page__title-wrap h1{font-size:17px}.editor-page__size{font-size:11px}.editor-page__actions{margin-left:0}.editor-page__credits{min-height:36px;padding-inline:10px;font-size:12px}.editor-page__save{justify-content:center;width:40px;min-height:40px;padding:0}.editor-page__save-label{display:none}.editor-page__canvas-wrap{box-shadow:none;background:0 0;border:0;border-radius:0}.editor-page__footer{height:72px;box-shadow:none;border-radius:0;padding:0;position:absolute;bottom:0;left:0;right:0}}.login-page{text-align:center;max-width:600px;margin:0 auto;padding:2rem}.login-page h1{margin-bottom:1.5rem}.login-error{color:var(--ui-danger);border-radius:var(--ui-radius-sm);background-color:#cf4a5f14;border:1px solid #cf4a5f2e;margin:1rem 0;padding:1rem}.login-error-action{margin-top:1rem}.login-loading{margin:2rem 0}.login-bot-section{margin-top:2rem}.login-description{margin-bottom:1.5rem}.login-timeout-info{color:var(--ui-text-muted);margin-top:.5rem;font-size:.9rem}.login-miniapp-loading{margin-top:2rem}.login-dev-section{flex-direction:column;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.login-dev-separator{color:var(--ui-text-muted);font-size:.9rem}.btn{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.btn:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.btn:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.btn{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;padding:0 16px;font-weight:700}.btn-primary{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.btn-primary:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.btn-primary:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.btn-primary:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.btn-primary{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;background:var(--ui-text);color:#fffdf9;border-color:#0000;padding:0 16px;font-weight:700}.btn-primary:hover:not(:disabled){background:#241c28}.btn-lg{border-radius:8px;padding:1rem 2rem;font-size:1.1rem}.btn-dev{background:var(--ui-primary-soft);border-color:#ef66782e}.app-shell{font-family:var(--sans)}.app-nav{-webkit-user-select:none;user-select:none;border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);align-items:center;gap:10px;margin:14px;padding:10px;display:flex}.app-nav a{color:var(--ui-text);border-radius:999px;padding:8px 10px;font-weight:700;text-decoration:none}.app-nav a:hover{background:var(--ui-primary-soft)}.app-nav__side{color:var(--ui-text-muted);align-items:center;gap:12px;margin-left:auto;font-size:14px;display:flex}.app-nav__side button{border:1px solid var(--ui-border);background:var(--ui-surface-solid);color:var(--ui-text);transition:transform .16s,border-color .16s,box-shadow .16s,background .16s,color .16s;box-shadow:0 1px 3px #422c3314}.app-nav__side button:hover:not(:disabled){border-color:var(--ui-border-strong);transform:translateY(-1px);box-shadow:0 4px 10px #422c331f}.app-nav__side button:focus-visible{box-shadow:0 1px 3px #422c3314, var(--ui-focus-ring);border-color:#7b6dff80;outline:none}.app-nav__side button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.app-nav__side button{border-radius:var(--ui-radius-sm);min-height:42px;font:inherit;cursor:pointer;min-height:38px;padding:0 16px;font-weight:700}
