#canvas-container[data-v-c16c95c2]{width:100%;height:100%;display:flex;justify-content:center;align-items:center}[data-v-c90e6fb3] .background-overlay.p-popover{background:#fffffffa;border:1px solid rgba(17,24,39,.18);box-shadow:0 12px 32px #0f172a47;border-radius:10px;z-index:1100!important}[data-v-c90e6fb3] .background-overlay .p-popover-content{padding:6px}.background-overlay-mask[data-v-c90e6fb3]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a9e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1050}.bg-mask-enter-active[data-v-c90e6fb3],.bg-mask-leave-active[data-v-c90e6fb3]{transition:opacity .2s ease}.bg-mask-enter-from[data-v-c90e6fb3],.bg-mask-leave-to[data-v-c90e6fb3]{opacity:0}.background-color-content[data-v-c90e6fb3]{padding:10px}.swatch-card[data-v-c90e6fb3]{padding:12px;border-radius:14px;border:1px solid rgba(17,24,39,.12);background:radial-gradient(circle at 20% 20%,rgba(65,90,119,.06),transparent 26%),#fffffff5;box-shadow:0 10px 30px #0f172a2e,0 1px #fff9 inset}.color-swatches[data-v-c90e6fb3]{display:grid;grid-template-columns:repeat(auto-fit,minmax(32px,1fr));gap:10px;justify-items:center;max-width:260px}.swatch[data-v-c90e6fb3]{width:28px;height:28px;border-radius:50%;border:2px solid rgba(0,0,0,.1);cursor:pointer;transition:all .15s ease;position:relative}.swatch[data-v-c90e6fb3]:hover{transform:scale(1.08)}.swatch.active[data-v-c90e6fb3]{border-color:var(--accent-primary);border-width:3px;transform:scale(1.12)}.lang-overlay-mask[data-v-a619c9ee]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a9e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1050}.lang-mask-enter-active[data-v-a619c9ee],.lang-mask-leave-active[data-v-a619c9ee]{transition:opacity .2s ease}.lang-mask-enter-from[data-v-a619c9ee],.lang-mask-leave-to[data-v-a619c9ee]{opacity:0}[data-v-a619c9ee] .lang-overlay.p-popover{background:#fffffffa;border:1px solid rgba(17,24,39,.18);box-shadow:0 12px 32px #0f172a47;border-radius:10px;z-index:1100!important}[data-v-a619c9ee] .lang-overlay .p-popover-content{padding:6px}.lang-content[data-v-a619c9ee]{display:flex;flex-direction:column;padding:6px;min-width:160px;gap:4px}.lang-card[data-v-a619c9ee]{padding:12px;border-radius:14px;border:1px solid rgba(17,24,39,.12);background:radial-gradient(circle at 20% 20%,rgba(65,90,119,.06),transparent 26%),#fffffff5;box-shadow:0 10px 30px #0f172a2e,0 1px #fff9 inset;display:flex;flex-direction:column;gap:6px}.lang-item[data-v-a619c9ee]{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid rgba(65,90,119,.12);border-radius:6px;background:#fffffffa;cursor:pointer;transition:all .15s ease}.lang-item[data-v-a619c9ee]:hover{background:#415a770f}.lang-item.active[data-v-a619c9ee]{border-color:#415a7766;background:#415a7714}.dot[data-v-a619c9ee]{width:8px;height:8px;border-radius:50%;background:#415a77}.label[data-v-a619c9ee]{flex:1;text-align:left}.check[data-v-a619c9ee]{font-size:.9rem;color:#415a77}.toolbar-global-bar[data-v-16882afa]{position:fixed;top:10px;left:15px;transform:none;z-index:1003;display:flex;flex-direction:column;align-items:stretch;gap:8px;width:66px;padding:8px 7px;--color-panel-background-secondary: var(--joha-ui-panel);background:var(--joha-ui-toolbar-surface)}.toolbar-global-bar--vertical[data-v-16882afa]{max-height:calc(100dvh - 20px);overflow-y:auto;overflow-x:hidden}.toolbar-global-bar--far-left[data-v-16882afa]{left:15px}.toolbar-global-bar--seventy-percent[data-v-16882afa]{gap:7px;min-height:0;padding:7px 6px}.toolbar-global-bar--twenty-percent-up[data-v-16882afa]{width:79px;gap:8px;padding:8px 7px}.toolbar-global-bar--expanded-tall[data-v-16882afa]{width:83px;gap:10px;padding:10px 8px 12px;min-height:calc(100dvh - 20px)}.icon-toolbar[data-v-16882afa]{position:fixed;left:15px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;padding:16px 18px 16px 14px;--color-panel-background-secondary: var(--joha-ui-panel);z-index:1000;max-height:calc(100dvh - 48px);overflow-y:auto;overflow-x:visible;background:var(--joha-ui-toolbar-surface)}.icon-toolbar--side[data-v-16882afa]{top:50%}.icon-toolbar--offset-for-global[data-v-16882afa]{top:10px;left:113px;transform:none;max-height:calc(100dvh - 20px)}.icon-toolbar--compact-side[data-v-16882afa]{gap:8px;padding:13px 14px 13px 11px}.icon-toolbar[data-v-16882afa]::-webkit-scrollbar{width:8px}.icon-toolbar[data-v-16882afa]::-webkit-scrollbar-track{background:#e2e8f0cc;border-radius:999px}.icon-toolbar[data-v-16882afa]::-webkit-scrollbar-thumb{background:#94a3b88c;border-radius:999px}.separator[data-v-16882afa]{height:3px;background:linear-gradient(90deg,transparent 0,var(--joha-ui-border) 10%,var(--joha-ui-border) 90%,transparent 100%);margin:3px 1px}.tools-grid[data-v-16882afa]{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid #e5e7eb}.icon-toolbar>.tools-grid[data-v-16882afa]:last-of-type{padding-bottom:0;margin-bottom:0;border-bottom:none}.tool-item[data-v-16882afa]{position:relative}.toolbar-global-bar[data-v-16882afa] .p-button,.icon-toolbar[data-v-16882afa] .p-button{width:52px;height:52px;padding:0;border-radius:10px;border:1px solid var(--joha-ui-border);transition:all .2s ease;background:#fff!important;color:var(--joha-ui-text-strong)!important;box-shadow:0 1px 2px #0f172a0f,0 0 0 1px #ffffff73 inset}.icon-toolbar--compact-side[data-v-16882afa] .p-button{width:42px;height:42px;box-shadow:0 1px 2px #0f172a0f,0 0 0 1px #ffffff73 inset}.icon-toolbar--compact-side[data-v-16882afa] .p-button:hover{box-shadow:0 8px 18px #0f172a1a}.icon-toolbar--compact-side[data-v-16882afa] .p-button:active{box-shadow:0 2px 6px #0f172a14}.toolbar-global-bar[data-v-16882afa] .p-button:hover,.icon-toolbar[data-v-16882afa] .p-button:hover{background:#e2e8f0!important;border-color:var(--joha-ui-border);transform:translateY(-1px) scale(1.03);box-shadow:0 10px 24px #0f172a1a}.toolbar-global-bar[data-v-16882afa] .p-button:active,.icon-toolbar[data-v-16882afa] .p-button:active{transform:translateY(0);box-shadow:0 2px 6px #0f172a14;background:#dbeafe!important}.toolbar-global-bar[data-v-16882afa] .p-button[data-pc-severity=info]:active,.icon-toolbar[data-v-16882afa] .p-button[data-pc-severity=info]:active{transform:translateY(0);background:var(--accent-primary-hover)!important}.toolbar-global-bar[data-v-16882afa] .p-button[data-pc-severity=info],.icon-toolbar[data-v-16882afa] .p-button[data-pc-severity=info]{background:var(--accent-primary)!important;border-color:var(--accent-primary)!important;color:#fff!important;box-shadow:0 10px 24px #2563eb2e}.toolbar-global-bar[data-v-16882afa] .p-button[data-pc-severity=info]:hover,.icon-toolbar[data-v-16882afa] .p-button[data-pc-severity=info]:hover{background:var(--accent-primary-hover)!important;border-color:var(--accent-primary-hover)!important;transform:translateY(-1px);box-shadow:0 12px 28px #2563eb38}.icon[data-v-16882afa]{width:32px;height:32px;fill:var(--joha-ui-text-strong);pointer-events:none;transition:fill .2s ease}.icon-toolbar--compact-side .icon[data-v-16882afa],.icon-toolbar--compact-side .icon-img[data-v-16882afa]{width:26px;height:26px}.toolbar-global-bar[data-v-16882afa] .p-button:hover .icon,.icon-toolbar[data-v-16882afa] .p-button:hover .icon{fill:var(--joha-ui-text-strong)}.toolbar-global-bar[data-v-16882afa] .p-button[data-pc-severity=info] .icon,.icon-toolbar[data-v-16882afa] .p-button[data-pc-severity=info] .icon,.toolbar-global-bar[data-v-16882afa] .p-button[data-pc-severity=info]:hover .icon,.icon-toolbar[data-v-16882afa] .p-button[data-pc-severity=info]:hover .icon{fill:#fff}.icon-img[data-v-16882afa]{width:32px;height:32px;pointer-events:none;-o-object-fit:contain;object-fit:contain;background:transparent;border-radius:0;padding:2px;mix-blend-mode:multiply}.submenu-indicator[data-v-16882afa]{position:absolute;right:4px;bottom:4px;width:8px;height:8px;background:var(--accent-primary);border:1px solid rgba(255,255,255,.8);border-radius:999px;opacity:.85}.toolbar-global-bar[data-v-16882afa] .p-popover,.icon-toolbar[data-v-16882afa] .p-popover{background:var(--joha-ui-panel-surface);border:1px solid var(--joha-ui-border);box-shadow:0 12px 30px #0f172a1f;border-radius:12px}.toolbar-global-bar[data-v-16882afa] .p-popover .p-popover-content,.icon-toolbar[data-v-16882afa] .p-popover .p-popover-content{padding:6px}.global-actions[data-v-16882afa]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.toolbar-global-actions[data-v-16882afa]{display:grid;grid-template-columns:1fr;justify-items:center;gap:6px;overflow:visible;padding:0}.toolbar-global-actions--compact[data-v-16882afa]{gap:6px}.toolbar-global-footer[data-v-16882afa]{margin-top:auto;padding-top:10px;border-top:1px solid rgba(229,231,235,.9)}.toolbar-global-footer-label[data-v-16882afa]{margin:0 0 10px;color:#4b5563eb;font-size:9px;font-family:var(--joha-ui-font-display);font-weight:600;letter-spacing:var(--joha-ui-font-display-letter-spacing);line-height:1.5;text-transform:var(--joha-ui-font-display-text-transform);text-align:center}.toolbar-global-footer-links[data-v-16882afa]{display:flex;flex-direction:column;gap:8px}.toolbar-global-footer-link[data-v-16882afa]{display:inline-flex;align-items:center;justify-content:flex-start;min-height:30px;padding:5px 7px;border:1px solid var(--joha-ui-border);background:#fff;color:var(--joha-ui-text-strong);text-decoration:none;text-transform:var(--joha-ui-font-display-text-transform);letter-spacing:var(--joha-ui-font-display-letter-spacing);font-size:8px;font-family:var(--joha-ui-font-display);font-weight:500;white-space:nowrap;border-radius:8px;transition:background .2s ease,color .2s ease,transform .2s ease}.toolbar-global-footer-arrow[data-v-16882afa]{margin-left:1px}.toolbar-global-footer-link[data-v-16882afa]:hover{background:#e5e7eb;color:var(--joha-ui-text-strong);transform:translateY(-1px)}.toolbar-global-header[data-v-16882afa]{width:100%;padding:0 1px 2px}.toolbar-global-header h4[data-v-16882afa]{font-size:11px;letter-spacing:var(--joha-ui-font-display-letter-spacing-xwide);text-transform:var(--joha-ui-font-display-text-transform)}.toolbar-global-header i[data-v-16882afa]{font-size:9px}.toolbar-global-bar--seventy-percent .toolbar-global-header h4[data-v-16882afa],.toolbar-global-bar--seventy-percent .toolbar-global-header i[data-v-16882afa]{font-size:10px}.toolbar-global-bar[data-v-16882afa] .toolbar-global-button--compact{width:40px;height:40px;border-width:1px}.toolbar-global-bar[data-v-16882afa] .toolbar-global-button--seventy-percent{width:28px;height:28px}.toolbar-global-bar[data-v-16882afa] .toolbar-global-button--expanded{width:39px;height:39px}.toolbar-global-bar[data-v-16882afa] .toolbar-global-button--compact:hover,.toolbar-global-bar[data-v-16882afa] .toolbar-global-button--seventy-percent:hover{box-shadow:0 8px 18px #0f172a1a}.toolbar-global-bar[data-v-16882afa] .toolbar-global-button--compact:active,.toolbar-global-bar[data-v-16882afa] .toolbar-global-button--seventy-percent:active{box-shadow:0 2px 6px #0f172a14}.toolbar-global-icon--compact[data-v-16882afa]{width:24px;height:24px}.toolbar-global-icon--seventy-percent[data-v-16882afa]{width:17px;height:17px}.toolbar-global-icon--ten-percent-up[data-v-16882afa]{width:19px;height:19px}.toolbar-global-icon--twenty-five-percent-up[data-v-16882afa]{width:24px;height:24px}.toolbar-global-icon--expanded[data-v-16882afa]{width:32px;height:32px}.section-header[data-v-16882afa]{display:flex;justify-content:space-between;align-items:center;padding:2px 4px;cursor:pointer;transition:color .2s ease}.section-header[data-v-16882afa]:hover{color:var(--joha-ui-orange-strong)}.section-header h4[data-v-16882afa]{margin:0;font-size:12px;font-family:var(--joha-ui-font-display);font-weight:700;color:var(--joha-ui-text-strong);letter-spacing:var(--joha-ui-font-display-letter-spacing-wide);text-transform:var(--joha-ui-font-display-text-transform)}.section-header i[data-v-16882afa]{font-size:12px;color:var(--joha-ui-muted)}.icon-toolbar--compact-side .section-header[data-v-16882afa]{padding:1px 3px}.icon-toolbar--compact-side .section-header h4[data-v-16882afa],.icon-toolbar--compact-side .section-header i[data-v-16882afa]{font-size:11px}@media(max-width:900px){.toolbar-global-bar[data-v-16882afa]{left:10px;width:60px;padding:7px 5px}.toolbar-global-bar--twenty-percent-up[data-v-16882afa]{width:72px;padding:8px 6px}.toolbar-global-bar--expanded-tall[data-v-16882afa]{width:76px;padding:9px 7px 11px}.icon-toolbar--offset-for-global[data-v-16882afa]{top:10px;left:98px;max-height:calc(100dvh - 20px)}}@keyframes pulse-16882afa{0%{transform:scale(1);background-color:#415a771a}50%{transform:scale(1.15);background-color:#415a774d}to{transform:scale(1);background-color:#415a771a}}.tool-item.shortcut-activated[data-v-16882afa] .p-button{animation:pulse-16882afa .4s ease-in-out}.custom-flyout[data-v-16882afa]{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);z-index:1001;background:var(--joha-ui-panel-surface);border:1px solid var(--joha-ui-border);box-shadow:0 12px 30px #0f172a1f;border-radius:12px;padding:6px;animation:flyoutFadeIn-16882afa .15s ease-out}.flyout-content[data-v-16882afa]{display:flex;gap:6px}@keyframes flyoutFadeIn-16882afa{0%{opacity:0;transform:translateY(-50%) scale(.95)}to{opacity:1;transform:translateY(-50%) scale(1)}}.tool-options-panel[data-v-2778d923]{width:176px;max-height:calc(100vh - 24px);overflow-y:auto;background-color:var(--joha-ui-panel-surface);border-radius:10px;padding:12px;box-shadow:0 6px 16px #00000014}.tool-options-panel--compact-right-panel[data-v-2778d923]{width:136px;max-height:calc(100vh - 104px);padding:9px}.panel-header[data-v-2778d923]{display:flex;align-items:center;justify-content:space-between;cursor:move;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--joha-ui-border)}.tool-options-panel--compact-right-panel .panel-header[data-v-2778d923]{margin-bottom:8px;padding-bottom:7px}.info-hint[data-v-2778d923]{margin:0 0 8px;padding:8px;border-radius:8px;background-color:#f8fafc;border:1px solid var(--joha-ui-border);color:var(--joha-ui-text);font-size:11px;line-height:1.4}h4[data-v-2778d923]{margin:0;font-size:12px;font-weight:700;color:var(--joha-ui-text-strong);font-family:var(--joha-ui-font-display);text-transform:var(--joha-ui-font-display-text-transform);letter-spacing:var(--joha-ui-font-display-letter-spacing)}.tool-options-panel--compact-right-panel h4[data-v-2778d923]{font-size:11px}.dock-btn[data-v-2778d923]{border:1px solid var(--joha-ui-border);background:#fff;border-radius:8px;font-size:11px;padding:4px 8px;cursor:pointer;color:var(--joha-ui-text-strong);font-family:var(--joha-ui-font-display);font-weight:700}.tool-options-panel--compact-right-panel .dock-btn[data-v-2778d923]{font-size:10px;padding:4px 7px}.option-group[data-v-2778d923]{margin-bottom:8px}.tool-options-panel--compact-right-panel .option-group[data-v-2778d923]{margin-bottom:7px}.option-group--common-color[data-v-2778d923]{position:relative}.option-group label[data-v-2778d923]{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:6px;color:var(--joha-ui-text-strong);font-family:var(--joha-ui-font-display);letter-spacing:var(--joha-ui-font-display-letter-spacing);text-transform:var(--joha-ui-font-display-text-transform)}.tool-options-panel--compact-right-panel .option-group label[data-v-2778d923]{font-size:10px;margin-bottom:5px}.option-group label span[data-v-2778d923]:first-child{font-weight:500}.option-group label span[data-v-2778d923]:last-child{color:var(--text-secondary);font-size:10px}select[data-v-2778d923]{width:100%;padding:6px 8px;border-radius:8px;border:1px solid var(--joha-ui-border);background-color:#fff;color:var(--joha-ui-text-strong);font-size:11px;font-family:var(--joha-ui-font-body)}.tool-options-panel--compact-right-panel select[data-v-2778d923],.tool-options-panel--compact-right-panel input[type=text][data-v-2778d923]{padding:5px 7px;font-size:10px}.enso-style-choices[data-v-2778d923]{display:grid;grid-template-columns:1fr;gap:6px;margin-top:4px}.tool-options-panel--compact-right-panel .enso-style-choices[data-v-2778d923]{gap:5px;margin-top:4px}.enso-style-choice[data-v-2778d923]{display:flex;align-items:center;gap:8px;position:relative;width:100%;padding:6px 28px 6px 10px;border-radius:8px;font-size:11px;font-weight:700;border:1px solid var(--joha-ui-border);background:#fff;box-shadow:0 1px 2px #0f172a0f;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.tool-options-panel--compact-right-panel .enso-style-choice[data-v-2778d923]{gap:6px;padding:5px 24px 5px 9px;font-size:10px;box-shadow:0 1px 2px #0f172a0f}.enso-style-choice[data-v-2778d923]:hover{transform:translateY(-1px);background:#f8fafc;box-shadow:0 8px 18px #0f172a1a}.enso-style-choice.active[data-v-2778d923]{background:rgba(var(--accent-primary-rgb),.08);border-color:var(--accent-primary);outline:none}.enso-style-choice.active[data-v-2778d923]:after{content:"✓";position:absolute;right:8px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;background:#ffffffe6;color:var(--accent-primary);font-size:12px;font-weight:800;display:grid;place-items:center;box-shadow:0 1px 4px #00000040;pointer-events:none}.tool-options-panel--compact-right-panel .enso-style-choice.active[data-v-2778d923]:after{right:6px;width:15px;height:15px;font-size:10px}.enso-style-choice__swatch[data-v-2778d923]{display:inline-block;width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 1px #fffc}.tool-options-panel--compact-right-panel .enso-style-choice__swatch[data-v-2778d923]{width:11px;height:11px}.enso-style-choice__label[data-v-2778d923]{flex:1;text-align:left}.color-preset-trigger[data-v-2778d923]{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;border-radius:8px;border:1px solid var(--joha-ui-border);background:#fff;color:var(--joha-ui-text-strong);cursor:pointer;box-shadow:0 1px 2px #0f172a0f;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.tool-options-panel--compact-right-panel .color-preset-trigger[data-v-2778d923]{gap:6px;padding:6px 7px;box-shadow:0 1px 2px #0f172a0f}.color-preset-trigger[data-v-2778d923]:hover{transform:translateY(-1px);background:#f8fafc;border-color:var(--joha-ui-border);box-shadow:0 8px 18px #0f172a1a}.color-preset-trigger__swatch[data-v-2778d923]{flex:0 0 18px;width:18px;height:18px;border-radius:50%;border:1px solid rgba(17,24,39,.22);box-shadow:inset 0 0 0 1px #fff9}.tool-options-panel--compact-right-panel .color-preset-trigger__swatch[data-v-2778d923]{flex-basis:15px;width:15px;height:15px}.color-preset-trigger__text[data-v-2778d923]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:11px;font-weight:600}.tool-options-panel--compact-right-panel .color-preset-trigger__text[data-v-2778d923],.tool-options-panel--compact-right-panel .color-preset-trigger__chevron[data-v-2778d923]{font-size:10px}.color-preset-trigger__chevron[data-v-2778d923]{color:var(--text-secondary);font-size:11px}.tool-color-preset-popover[data-v-2778d923]{position:fixed;width:188px;padding:10px;border-radius:10px;border:1px solid var(--joha-ui-border);background:var(--joha-ui-panel-surface);box-shadow:0 12px 30px #0f172a1f;z-index:1300}.tool-options-panel--compact-right-panel .tool-color-preset-popover[data-v-2778d923]{width:168px;padding:9px}.color-preset-grid[data-v-2778d923]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.tool-options-panel--compact-right-panel .color-preset-grid[data-v-2778d923]{gap:7px}.color-preset-swatch[data-v-2778d923]{width:24px;height:24px;padding:0;border-radius:8px;border:1px solid rgba(17,24,39,.16);cursor:pointer;justify-self:center;box-shadow:inset 0 0 0 1px #ffffff8c,0 2px 4px #0f172a1f;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.tool-options-panel--compact-right-panel .color-preset-swatch[data-v-2778d923]{width:20px;height:20px}.color-preset-swatch[data-v-2778d923]:hover{transform:scale(1.08);box-shadow:inset 0 0 0 1px #ffffffb3,0 4px 8px #0f172a2e}.color-preset-swatch.active[data-v-2778d923]{border-color:#111827bf;box-shadow:0 0 0 3px rgba(var(--accent-primary-rgb, 65, 90, 119),.18),inset 0 0 0 2px #ffffffbf;transform:scale(1.08)}.slider-container[data-v-2778d923]{position:relative;width:100%;height:24px}.tool-options-panel--compact-right-panel .slider-container[data-v-2778d923]{height:22px}input[type=range][data-v-2778d923]{position:relative;width:100%;height:24px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,var(--joha-ui-slider-fill) var(--slider-fill-percent, 0%),rgba(30,58,138,.16) var(--slider-fill-percent, 0%));border-radius:999px;border:1px solid var(--joha-ui-border);cursor:pointer;z-index:2}.tool-options-panel--compact-right-panel input[type=range][data-v-2778d923]{height:22px}input[type=range][data-v-2778d923]::-webkit-slider-track{background:transparent;border:none;height:6px}input[type=range][data-v-2778d923]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:20px;background:var(--joha-ui-slider-fill);border:1px solid var(--joha-ui-slider-fill-strong);border-radius:999px;cursor:pointer;margin-top:-8px}.tool-options-panel--compact-right-panel input[type=range][data-v-2778d923]::-webkit-slider-thumb{width:10px;height:18px;margin-top:-7px}input[type=range][data-v-2778d923]:hover::-webkit-slider-thumb{background:var(--joha-ui-slider-fill-strong)}input[type=color][data-v-2778d923]{width:28px;height:20px;border:none;border-radius:3px;cursor:pointer}.tool-options-panel--compact-right-panel input[type=color][data-v-2778d923]{width:22px;height:16px}input[type=checkbox][data-v-2778d923]{width:12px;height:12px;margin-right:4px}.tool-options-panel--compact-right-panel input[type=checkbox][data-v-2778d923]{width:11px;height:11px}.checkbox-group[data-v-2778d923]{display:flex;align-items:center}.checkbox-group label[data-v-2778d923]{margin-bottom:0;cursor:pointer;font-size:11px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tool-options-panel--compact-right-panel .checkbox-group label[data-v-2778d923]{font-size:10px}.separator[data-v-2778d923]{height:2px;background-color:#e5e7ebe6;margin:8px 0}.tool-options-panel--compact-right-panel .separator[data-v-2778d923]{margin:7px 0}.action-group[data-v-2778d923]{display:flex;flex-direction:column;gap:8px}.tool-options-panel--compact-right-panel .action-group[data-v-2778d923]{gap:7px}.btn[data-v-2778d923]{background-color:var(--accent-primary);color:#fff;border:1px solid var(--accent-primary);border-radius:8px;padding:7px 8px;font-size:11px;cursor:pointer;transition:all .2s ease;transform:translateY(0);box-shadow:0 10px 24px #2563eb29;font-family:var(--joha-ui-font-display);font-weight:700;text-transform:var(--joha-ui-font-display-text-transform);letter-spacing:var(--joha-ui-font-display-letter-spacing)}.tool-options-panel--compact-right-panel .btn[data-v-2778d923]{padding:6px 7px;font-size:10px}.btn.btn-secondary[data-v-2778d923]{background-color:#fff;color:var(--joha-ui-text-strong);border:1px solid var(--joha-ui-border)}.btn.btn-clear-all[data-v-2778d923]{background-color:#e5e7eb;color:var(--joha-ui-text-strong);border:1px solid var(--joha-ui-border);box-shadow:0 8px 18px #0f172a14}.btn.btn-secondary[data-v-2778d923]:hover{background-color:#e5e7eb;color:var(--joha-ui-text-strong);transform:translateY(-1px);box-shadow:0 8px 18px #0f172a1a}.btn.btn-clear-all[data-v-2778d923]:hover{background-color:#cbd5e1;color:var(--joha-ui-text-strong);transform:translateY(-1px);box-shadow:0 10px 22px #0f172a1a}.btn[data-v-2778d923]:hover{background-color:var(--accent-primary-hover);transform:translateY(-1px);box-shadow:0 12px 28px #2563eb33}.btn[data-v-2778d923]:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.color-palette[data-v-2778d923]{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:6px}.tool-options-panel--compact-right-panel .color-palette[data-v-2778d923]{gap:4px;margin-top:5px}.color-swatch[data-v-2778d923]{width:20px;height:20px;border-radius:3px;border:1px solid rgba(0,0,0,.1);cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000001a}.tool-options-panel--compact-right-panel .color-swatch[data-v-2778d923]{width:17px;height:17px}.color-swatch[data-v-2778d923]:hover{transform:scale(1.1);box-shadow:0 2px 6px #0003}.color-swatch.active[data-v-2778d923]{border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(var(--accent-primary-rgb),.2)}.textarea-group textarea[data-v-2778d923]{width:100%;font-family:monospace;resize:vertical;padding:6px;border:1px solid var(--joha-ui-border);border-radius:8px;background-color:#fff;color:var(--joha-ui-text-strong);font-size:10px;line-height:1.4}.tool-options-panel--compact-right-panel .textarea-group textarea[data-v-2778d923]{padding:6px;font-size:10px}.textarea-group textarea[data-v-2778d923]:focus{outline:none;border-color:var(--accent-primary)}input[type=text][data-v-2778d923]{width:100%;padding:6px 8px;border:1px solid var(--joha-ui-border);border-radius:8px;background-color:#fff;color:var(--joha-ui-text-strong);font-size:11px}input[type=text][data-v-2778d923]:focus{outline:none;border-color:var(--accent-primary)}.tool-status-popup[data-v-1d8f4790]{position:fixed;top:24px;left:calc(var(--toolbar-right, 72px) + 24px);min-width:150px;max-width:220px;padding:8px 12px;background-color:#fffffff0;border:1px solid rgba(65,90,119,.2);border-radius:14px;box-shadow:0 10px 25px #0f172a2e;color:#0f172a;line-height:1.35;font-size:12px;z-index:1200;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:grab;transition:box-shadow .2s ease}@supports (-webkit-backdrop-filter: blur(0)){.tool-status-popup[data-v-1d8f4790]{background-color:#fff}}.tool-status-popup.dragging[data-v-1d8f4790]{cursor:grabbing;box-shadow:0 12px 28px #0f172a47}.status-capability-pill[data-v-1d8f4790]{margin-top:6px;display:inline-block;padding:4px 8px;border-radius:10px;background:#415a7724;color:#0f172a;font-weight:600}.tool-status-popup.floating[data-v-1d8f4790]{top:auto;left:auto}.status-row[data-v-1d8f4790]{display:flex;justify-content:space-between;align-items:center;gap:8px}.status-prefix[data-v-1d8f4790]{font-weight:500;color:#0f172aa6}.status-mode-tag[data-v-1d8f4790]{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:#0ea5e933;color:#0f172a}.status-mode-tag.edit[data-v-1d8f4790]{background:#ec489940;color:#831843}.status-mode-dot[data-v-1d8f4790]{width:6px;height:6px;border-radius:50%;background:#0ea5e9}.status-mode-tag.edit .status-mode-dot[data-v-1d8f4790]{background:#f97316}.status-tool-row[data-v-1d8f4790]{margin-top:4px;display:flex;flex-direction:column;gap:4px}.status-label[data-v-1d8f4790]{font-size:11px;font-weight:600;color:#0f172a8c}.status-tool-pill[data-v-1d8f4790]{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;background:#94a3b81a;border:1px solid rgba(148,163,184,.3);transition:box-shadow .2s ease,border-color .2s ease}.status-tool-pill.flash[data-v-1d8f4790]{box-shadow:0 0 0 3px #3b82f640;border-color:#3b82f673}.status-tool-icon[data-v-1d8f4790]{width:20px;height:20px;display:block;fill:currentColor}.status-tool-pill img.status-tool-icon[data-v-1d8f4790]{-o-object-fit:contain;object-fit:contain;mix-blend-mode:multiply;border-radius:4px}.status-tool-name[data-v-1d8f4790]{font-weight:600;font-size:13px}.status-recent[data-v-1d8f4790]{margin-left:6px;font-size:11px;font-weight:600;color:#2563eb}.status-shortcut[data-v-1d8f4790]{margin-top:4px;font-size:11px;color:#1e293bb3}@media(max-width:1024px){.tool-status-popup[data-v-1d8f4790]{top:20px;left:235px}}.history-panel[data-v-75d26b5f]{display:flex;flex-direction:column;height:100%;background:transparent;color:#2c3e50;overflow:hidden}.history-header[data-v-75d26b5f]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:transparent;border-bottom:1px solid rgba(65,90,119,.1)}.history-title[data-v-75d26b5f]{font-size:14px;font-weight:600;margin:0;color:#2c3e50}.history-controls[data-v-75d26b5f]{display:flex;gap:8px}.clear-button[data-v-75d26b5f]{padding:4px;background:#415a771a;border:none;color:#666;cursor:pointer;border-radius:4px;transition:all .2s}.clear-button[data-v-75d26b5f]:hover:not(:disabled){background:#415a7733;color:#2c3e50}.clear-button[data-v-75d26b5f]:disabled{opacity:.3;cursor:not-allowed}.history-list[data-v-75d26b5f]{flex:1;overflow-y:auto;padding:8px}.empty-state[data-v-75d26b5f]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#888}.empty-icon[data-v-75d26b5f]{font-size:32px;margin-bottom:8px}.empty-text[data-v-75d26b5f]{font-size:13px}.history-item[data-v-75d26b5f]{display:flex;gap:12px;padding:8px;margin-bottom:2px;border-radius:6px;cursor:pointer;transition:all .2s;position:relative}.history-item[data-v-75d26b5f]:hover{background:#415a770d}.history-item.is-current[data-v-75d26b5f]{background:#415a771a;border-left:3px solid #415a77;padding-left:5px}.history-item.is-future[data-v-75d26b5f]{opacity:.5}.history-item-indicator[data-v-75d26b5f]{display:flex;flex-direction:column;align-items:center;width:20px;position:relative}.history-dot[data-v-75d26b5f]{width:8px;height:8px;border-radius:50%;background:#ccc;z-index:1}.is-current .history-dot[data-v-75d26b5f]{background:#415a77;box-shadow:0 0 0 3px #415a7733}.is-past .history-dot[data-v-75d26b5f]{background:#28a745}.history-line[data-v-75d26b5f]{position:absolute;top:12px;width:1px;height:calc(100% + 10px);background:#415a7733}.history-item-content[data-v-75d26b5f]{flex:1;min-width:0}.history-item-header[data-v-75d26b5f]{display:flex;align-items:center;gap:6px;margin-bottom:2px}.history-item-icon[data-v-75d26b5f]{font-size:14px}.history-item-label[data-v-75d26b5f]{font-size:13px;font-weight:500;color:#2c3e50;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item-time[data-v-75d26b5f]{font-size:11px;color:#666}.history-item-status[data-v-75d26b5f]{display:flex;align-items:center;padding:0 4px}.status-current[data-v-75d26b5f]{font-size:11px;color:#415a77;font-weight:600}.status-future[data-v-75d26b5f]{font-size:12px;color:#999}.status-past[data-v-75d26b5f]{font-size:12px;color:#28a745}.history-footer[data-v-75d26b5f]{padding:12px 16px;background:transparent;border-top:1px solid rgba(65,90,119,.1)}.history-stats[data-v-75d26b5f]{display:flex;justify-content:space-between;font-size:11px}.stat-item[data-v-75d26b5f]{display:flex;gap:4px}.stat-label[data-v-75d26b5f]{color:#666}.stat-value[data-v-75d26b5f]{color:#2c3e50;font-weight:600}.history-item-enter-active[data-v-75d26b5f],.history-item-leave-active[data-v-75d26b5f]{transition:all .3s ease}.history-item-enter-from[data-v-75d26b5f]{opacity:0;transform:translate(-20px)}.history-item-leave-to[data-v-75d26b5f]{opacity:0;transform:translate(20px)}.history-list[data-v-75d26b5f]::-webkit-scrollbar{width:6px}.history-list[data-v-75d26b5f]::-webkit-scrollbar-track{background:#415a770d}.history-list[data-v-75d26b5f]::-webkit-scrollbar-thumb{background:#415a774d;border-radius:3px}.layer-panel[data-v-7445564a]{position:fixed;top:20px;right:20px;width:var(--panel-width, 320px);z-index:1001;resize:horizontal;overflow:hidden;min-width:var(--panel-min-width, 200px);max-width:var(--panel-max-width, 500px);display:flex;flex-direction:column}.layer-panel--top-aligned[data-v-7445564a]{top:10px}.layer-panel--compact-right-panel[data-v-7445564a]{width:var(--panel-width, 224px);min-width:var(--panel-min-width, 140px);max-width:var(--panel-max-width, 350px)}.resize-handle[data-v-7445564a]{position:absolute;left:0;top:0;bottom:0;width:10px;cursor:ew-resize;background:transparent;transition:background-color .2s}.layer-panel--compact-right-panel .resize-handle[data-v-7445564a]{left:0;width:9px}.resize-handle[data-v-7445564a]:hover{background:#2563eb14}.resize-handle[data-v-7445564a]:after{content:none}.resize-handle[data-v-7445564a]:active:after{filter:brightness(.92)}.layer-list[data-v-7445564a]{flex-grow:1;overflow-y:auto}.layer-name-container[data-v-7445564a]{flex:1;min-width:0;display:flex;align-items:center;gap:4px}.layer-panel--compact-right-panel .panel-header[data-v-7445564a]{padding:8px 9px 7px}.layer-panel--compact-right-panel .tabs[data-v-7445564a]{gap:4px}.layer-panel--compact-right-panel .tab[data-v-7445564a]{padding:5px 8px;font-size:9px}.layer-name-input[data-v-7445564a]{flex:1;min-width:80px;border:1px solid var(--joha-ui-border);border-radius:8px;padding:3px 5px;font-family:var(--joha-ui-font-body);color:var(--joha-ui-text-strong);background:#fff}.layer-name[data-v-7445564a]{font-family:var(--joha-ui-font-display);font-weight:600;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:var(--joha-ui-font-display-letter-spacing-tight);color:var(--joha-ui-text-strong);text-transform:var(--joha-ui-font-display-text-transform)}.layer-item[data-v-7445564a]{position:relative;display:flex;align-items:center;gap:6px;padding:8px 7px;border-radius:8px;transition:background-color .2s,box-shadow .2s ease,transform .2s ease;border-left:0;border:1px solid transparent}.layer-item[data-v-7445564a]:hover{background-color:#f8fafc;border-color:#e5e7eb}.layer-item.active[data-v-7445564a]{background-color:#f1f5f9;border-color:#cbd5f5;border-left:3px solid var(--accent-primary);box-shadow:inset 0 0 0 1px rgba(var(--accent-primary-rgb),.16)}.layer-item.active .layer-name[data-v-7445564a]{color:var(--joha-ui-text-strong);font-weight:700}.drag-handle[data-v-7445564a]{width:14px;display:flex;align-items:center;justify-content:center;cursor:grab;opacity:.4;transition:opacity .2s}.drag-handle[data-v-7445564a]:hover{opacity:1}.drag-handle[data-v-7445564a]:active{cursor:grabbing}.drag-icon[data-v-7445564a]{font-size:10px;color:var(--joha-ui-muted);-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.layer-content[data-v-7445564a]{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.layer-actions[data-v-7445564a],.layer-edit-icon[data-v-7445564a],.layer-delete[data-v-7445564a]{opacity:0;transition:opacity .2s ease}.layer-item:hover .layer-actions[data-v-7445564a],.layer-item:hover .layer-edit-icon[data-v-7445564a],.layer-item:hover .layer-delete[data-v-7445564a]{opacity:1}.layer-actions[data-v-7445564a]{display:flex;gap:2px}.layer-delete[data-v-7445564a]{background:none;border:none;font-size:11px;cursor:pointer;color:var(--joha-ui-text)}.layer-edit-icon[data-v-7445564a]{cursor:pointer;font-size:9px;flex-shrink:0}.action-btn[data-v-7445564a]{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;background:transparent;border:none;border-radius:0;cursor:pointer;color:var(--joha-ui-text-strong);font-size:14px;font-weight:700;line-height:1;transition:color .15s ease,transform .15s ease}.action-btn[data-v-7445564a]:hover{color:var(--accent-primary);transform:translateY(-1px)}.move-up-btn[data-v-7445564a]:hover,.move-down-btn[data-v-7445564a]:hover{color:var(--accent-primary-hover)}.layer-item .layer-name[data-v-7445564a]{cursor:text}.layer-item.drop-indicator-top[data-v-7445564a]:before{content:"";position:absolute;top:-2px;left:0;right:0;height:3px;background:var(--joha-ui-orange)}.layer-item.drop-indicator-bottom[data-v-7445564a]:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:3px;background:var(--joha-ui-orange)}.layer-item.dragging[data-v-7445564a]{opacity:.5;transform:scale(.95)}.panel-header[data-v-7445564a]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 12px;border-bottom:1px solid var(--joha-ui-border)}.tabs[data-v-7445564a]{display:flex;gap:8px}.tab[data-v-7445564a]{background:#f8fafc;border:1px solid var(--joha-ui-border);padding:8px 12px;border-radius:8px;cursor:pointer;font-size:12px;font-family:var(--joha-ui-font-display);font-weight:500;color:var(--joha-ui-text-strong);text-transform:var(--joha-ui-font-display-text-transform);letter-spacing:var(--joha-ui-font-display-letter-spacing);transition:all .2s}.tab[data-v-7445564a]:hover{background:#e5e7eb;color:var(--joha-ui-text-strong)}.tab.active[data-v-7445564a]{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;font-weight:700}.panel-actions[data-v-7445564a]{display:flex;gap:8px}.panel-actions button[data-v-7445564a]{background:#fff;border:1px solid var(--joha-ui-border);border-radius:8px;padding:6px 10px;cursor:pointer;transition:all .2s;font-size:14px;color:var(--joha-ui-text-strong)}.panel-actions button[data-v-7445564a]:hover{background:#e5e7eb;color:var(--joha-ui-text-strong);transform:translateY(-1px)}.history-content[data-v-7445564a]{flex-grow:1;overflow:hidden}.zoom-reset-btn[data-v-7445564a]{background:#415a771a;border:none;border-radius:6px;padding:6px 10px;cursor:pointer;transition:all .2s;font-size:12px;font-weight:600;margin-left:8px;margin-right:8px}.zoom-reset-btn[data-v-7445564a]:hover{background:#415a7733;transform:scale(1.05)}.toast-notification[data-v-64ea1b44]{position:fixed;top:30px;left:50%;transform:translate(-50%);background-color:#e74c3c;color:#fff;padding:12px 25px;border-radius:25px;z-index:9999;font-size:15px;font-weight:500;box-shadow:0 4px 15px #0003;pointer-events:none}.toast-enter-active[data-v-64ea1b44],.toast-leave-active[data-v-64ea1b44]{transition:all .3s ease}.toast-enter-from[data-v-64ea1b44],.toast-leave-to[data-v-64ea1b44]{opacity:0;transform:translate(-50%) translateY(-20px)}.toast-enter-to[data-v-64ea1b44],.toast-leave-from[data-v-64ea1b44]{opacity:1;transform:translate(-50%) translateY(0)}[data-v-673f66b9] .p-dialog-header{padding:20px 24px;background:linear-gradient(180deg,rgba(var(--color-accent-primary-rgb),.12),rgba(var(--color-accent-primary-rgb),.06));border-bottom:1px solid var(--color-panel-border)}.legal-header[data-v-673f66b9]{display:flex;align-items:center;gap:14px}.legal-header>.pi[data-v-673f66b9]{font-size:20px;color:var(--color-accent-primary)}.legal-header .titles[data-v-673f66b9]{display:flex;flex-direction:column}.legal-header .title[data-v-673f66b9]{font-weight:700;color:var(--color-text-dark);letter-spacing:.2px}.legal-header .subtitle[data-v-673f66b9]{margin-top:6px;font-size:12px;color:var(--color-text-secondary)}.notices-wrap[data-v-673f66b9]{max-height:70vh;overflow:auto;border:1px solid rgba(0,0,0,.1);border-radius:6px;padding:12px;background:#fafafa}.notices-text[data-v-673f66b9]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap}.notices-loading[data-v-673f66b9]{color:#666}[data-v-d23c6651] .p-dialog-header{padding:20px 24px;background:linear-gradient(180deg,rgba(var(--color-accent-primary-rgb),.12),rgba(var(--color-accent-primary-rgb),.06));border-bottom:1px solid var(--color-panel-border)}.eula-wrap[data-v-d23c6651]{max-height:70vh;overflow:auto;border:1px solid rgba(0,0,0,.1);border-radius:6px;padding:12px;background:#fafafa}.eula-text[data-v-d23c6651]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap}.eula-loading[data-v-d23c6651]{color:#666}[data-v-183d166d] .p-dialog{background:var(--terms-bg, #2b4056);color:#fff;border:1px solid rgba(255,255,255,.12)}[data-v-183d166d] .p-dialog-header{padding:18px 22px;background:var(--terms-bg, #2b4056);border-bottom:1px solid rgba(255,255,255,.12)}[data-v-183d166d] .p-dialog-header-icon{width:36px;height:36px;color:#fff;opacity:1}[data-v-183d166d] .p-dialog-header-icon:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}[data-v-183d166d] .p-dialog-header-icon .p-icon{font-size:18px;font-weight:800;color:#fff}.legal-header[data-v-183d166d]{display:flex;align-items:center;gap:12px}.legal-header .titles[data-v-183d166d]{display:flex;flex-direction:column}.legal-header .title[data-v-183d166d]{font-weight:700;color:#fff;background:var(--terms-bg, #2b4056);padding:6px 0;display:inline-flex;letter-spacing:.2px}.legal-wrap[data-v-183d166d]{max-height:90vh;overflow:auto;border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:12px;background:var(--terms-bg, #2b4056)}.legal-text[data-v-183d166d]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:10px;line-height:1.6;white-space:pre-wrap;color:#fff}.legal-loading[data-v-183d166d]{color:#ffffffb3}.startup-hint-overlay[data-v-727a491a]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10000}.startup-hint-card[data-v-727a491a]{min-width:160px;padding:14px 18px;border-radius:12px;background:#111827d6;color:#fff;text-align:center;font-size:15px;font-weight:500;letter-spacing:.01em;outline:none;display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:auto;box-shadow:0 12px 28px #0f172a59}.startup-hint-text[data-v-727a491a]{margin:0;font-size:18px;font-weight:600}.startup-hint-close[data-v-727a491a]{margin-top:4px;padding:4px 16px;border-radius:999px;border:none;background-color:#f3f4f6;color:#111827;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease}.startup-hint-close[data-v-727a491a]:hover{background-color:#e5e7eb}.startup-hint-close[data-v-727a491a]:focus-visible{outline:3px solid rgba(255,255,255,.4);outline-offset:2px}.startup-hint-enter-active[data-v-727a491a],.startup-hint-leave-active[data-v-727a491a]{transition:opacity .25s ease}.startup-hint-enter-from[data-v-727a491a],.startup-hint-leave-to[data-v-727a491a]{opacity:0}#app-container{position:relative;width:100vw;height:100vh;overflow:hidden;background:var(--color-app-background);font-family:sans-serif;color:var(--color-text-dark);transition:background-color .5s ease}.joha-retro-app{background:linear-gradient(180deg,#ffffff38,#fff0) 0 0 / 100% 96px no-repeat,radial-gradient(circle at top left,rgba(233,127,84,.08),transparent 18%),radial-gradient(circle at bottom right,rgba(179,154,211,.14),transparent 20%),linear-gradient(180deg,var(--joha-ui-bg-alt) 0%,var(--joha-ui-bg) 100%);font-family:var(--joha-ui-font-body);color:var(--joha-ui-text)}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;background-color:var(--color-app-background);gap:16px;color:var(--color-accent-primary);font-size:16px;pointer-events:all}.loading-spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top:3px solid var(--color-accent-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-text{margin:0}.error-text{color:#e74c3c;text-align:center;max-width:420px;line-height:1.4}.retry-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:600;background:var(--color-accent-primary);color:#fff;cursor:pointer}.retry-button:disabled{opacity:.55;cursor:not-allowed}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");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{--panel-bg: var(--color-panel-background);--panel-fg: var(--color-panel-foreground);--panel-width: 240px;--panel-min-width: 180px;--panel-max-width: 500px;--toolbar-right: 70px;--joha-ui-bg: #F8FAFC;--joha-ui-bg-alt: #F8FAFC;--joha-ui-panel: #F3F4F6;--joha-ui-panel-surface: #FFFFFF;--joha-ui-toolbar-surface: #F8FAFC;--joha-ui-border: #E5E7EB;--joha-ui-border-soft: rgba(229, 231, 235, .72);--joha-ui-text: #475569;--joha-ui-text-strong: #0F172A;--joha-ui-muted: #64748B;--joha-ui-orange: #2563EB;--joha-ui-orange-strong: #1D4ED8;--joha-ui-lilac: #DBEAFE;--joha-ui-lilac-strong: #BFDBFE;--joha-ui-teal: #E2E8F0;--joha-ui-gold: #93C5FD;--joha-ui-shadow: rgba(15, 23, 42, .08);--joha-ui-slider-fill: #1E3A8A;--joha-ui-slider-fill-strong: #172554;--joha-ui-font-display: "Space Grotesk Variable", "Space Grotesk", "Arial Narrow", "Avenir Next Condensed", "Franklin Gothic Medium", sans-serif;--joha-ui-font-body: "Arial Narrow", "Trebuchet MS", "Avenir Next Condensed", sans-serif;--joha-ui-font-display-text-transform: uppercase;--joha-ui-font-display-letter-spacing: .08em;--joha-ui-font-display-letter-spacing-tight: .05em;--joha-ui-font-display-letter-spacing-wide: .1em;--joha-ui-font-display-letter-spacing-xwide: .12em;--bg-secondary: var(--color-panel-background-secondary);--border-color: var(--color-panel-border);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--accent-primary: var(--color-accent-primary);--accent-primary-hover: var(--color-accent-primary-hover);--bg-tertiary: var(--color-slider-track)}html:lang(ko){--joha-ui-font-display: "Space Grotesk Variable", "Space Grotesk", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif}html:lang(ja){--joha-ui-font-display: "Space Grotesk Variable", "Space Grotesk", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", "Noto Sans JP", sans-serif}html:lang(ar){--joha-ui-font-display: "Space Grotesk Variable", "Space Grotesk", "Geeza Pro", "Tahoma", "Noto Naskh Arabic", "Noto Sans Arabic", sans-serif;--joha-ui-font-display-text-transform: none;--joha-ui-font-display-letter-spacing: normal;--joha-ui-font-display-letter-spacing-tight: normal;--joha-ui-font-display-letter-spacing-wide: normal;--joha-ui-font-display-letter-spacing-xwide: normal}html,body{margin:0;padding:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background:radial-gradient(circle at top left,rgba(37,99,235,.08),transparent 24%),radial-gradient(circle at bottom right,rgba(148,163,184,.12),transparent 20%),linear-gradient(180deg,var(--joha-ui-bg-alt) 0%,var(--joha-ui-bg) 100%);font-family:var(--joha-ui-font-body);color:var(--joha-ui-text);overflow:hidden;transition:background-color .5s ease}canvas{border:1px solid #E2E8F0;background:#fff;box-shadow:0 8px 24px #0000000f;cursor:crosshair;position:absolute}*{box-sizing:border-box}.joha-retro-panel{background:var(--joha-ui-panel-surface);border:1px solid var(--joha-ui-border);border-radius:10px;box-shadow:0 6px 16px #00000014;color:var(--joha-ui-text);font-family:var(--joha-ui-font-body)}.joha-retro-label{font-family:var(--joha-ui-font-display);font-weight:700;text-transform:var(--joha-ui-font-display-text-transform);letter-spacing:var(--joha-ui-font-display-letter-spacing);color:var(--joha-ui-text-strong)}@keyframes buttonPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.btn:active{animation:buttonPulse .1s ease}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#415a771a;border-radius:4px}::-webkit-scrollbar-thumb{background:#415a774d;border-radius:4px}.btn{background:#415a771a;border:1px solid rgba(65,90,119,.2);border-radius:50px;color:#415a77;padding:12px 24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);-webkit-user-select:none;-moz-user-select:none;user-select:none;display:flex;align-items:center;gap:8px;width:100%;box-sizing:border-box;text-align:center;justify-content:center}.btn:hover,.btn.active{background:#415a7733;transform:translateY(-2px);box-shadow:0 4px 12px #415a7733}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.tool-options h4{margin:0 0 12px;font-size:16px;padding-bottom:8px;border-bottom:1px solid rgba(65,90,119,.15)}.tool-options .option-group{margin-bottom:10px}.tool-options .option-group:last-child{margin-bottom:0}.tool-options label{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-bottom:6px}.tool-options input[type=range]{width:100%;cursor:pointer}.tool-options input[type=color]{width:30px;height:30px;border:none;padding:0;background:none;cursor:pointer}.layer-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(65,90,119,.15)}.layer-header h3{margin:0;font-size:16px}.layer-header .layer-actions button{background:none;border:none;font-size:18px;cursor:pointer;color:var(--color-accent-primary);padding:4px}.layer-item{display:flex;align-items:center;padding:10px 8px;gap:8px;font-size:14px;border-bottom:1px solid var(--color-panel-border);background-color:transparent;transition:background-color .2s,opacity .2s,border-left-color .2s;cursor:pointer;border-left:4px solid transparent;will-change:transform,opacity;contain:layout style}.layer-item.active{background-color:var(--color-layer-background-active);border-left-color:var(--color-layer-border-active)}.layer-item:last-child{border-bottom:none}.layer-item .layer-name-container{flex-grow:1;display:flex;align-items:center;gap:6px;min-width:0}.layer-item .layer-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-item .layer-edit-icon{cursor:pointer;font-size:12px;opacity:.6;transition:opacity .2s;flex-shrink:0}.layer-item .layer-edit-icon:hover{opacity:1}.layer-item .layer-lock,.layer-item .layer-visibility{font-size:16px;padding:4px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.layer-item .layer-delete{background:none;border:none;font-size:14px;cursor:pointer;color:var(--color-layer-delete);opacity:.7}.layer-item .layer-delete:hover{opacity:1}.opacity-slider{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-secondary)}.opacity-slider input[type=range]{width:70px}.opacity-slider span{width:30px;text-align:right}.layer-item.locked{background:#e74c3c1f}.layer-item.locked.active{background:#e74c3c40;border-left-color:var(--color-layer-lock)}.layer-item.locked .layer-lock{color:var(--color-layer-lock)}.layer-item:not(.locked) .layer-lock{color:var(--color-layer-unlock)}button:disabled,.layer-item.locked .opacity-slider,.layer-item.locked .layer-delete,.layer-item.locked .layer-edit-icon,.layer-item.locked input[type=range]{pointer-events:none;opacity:.4}.layer-item.dragging{opacity:.6;background:var(--color-layer-drag-background);transform:rotate(2deg) scale(1.02);box-shadow:0 8px 16px var(--color-shadow-dark);z-index:1000;transition:none!important;will-change:transform,opacity}.layer-item.drop-indicator-top{border-top:3px solid var(--color-layer-drop-indicator);transition:none;position:relative}.layer-item.drop-indicator-top:before{content:"";position:absolute;top:-2px;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--color-layer-drop-indicator),var(--color-layer-drop-gradient),var(--color-layer-drop-indicator));background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:1px}.layer-item.drop-indicator-bottom{border-bottom:3px solid var(--color-layer-drop-indicator);transition:none;position:relative}.layer-item.drop-indicator-bottom:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--color-layer-drop-indicator),var(--color-layer-drop-gradient),var(--color-layer-drop-indicator));background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:1px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes layerHighlight{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.layer-item:hover:not(.dragging){background-color:var(--color-layer-background-hover);transition:background-color .2s ease}.layer-item:hover.dragging{background:var(--color-layer-drag-background);transition:none}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid var(--color-scrollbar-thumb);border-radius:50%;border-top-color:var(--color-accent-primary);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.p-tooltip{z-index:99999!important}.p-tooltip .p-tooltip-text{background-color:#5a78b4!important;color:#fff!important;padding:10px 16px!important;border-radius:8px!important;font-size:13px!important;font-weight:500!important;box-shadow:0 4px 12px #0000004d!important;border:2px solid rgba(255,255,255,.15)!important}.p-tooltip.p-tooltip-right .p-tooltip-arrow{border-right-color:#5a78b4!important}@media(max-width:768px){.left-ui-panel{left:10px;transform:translateY(-50%) scale(.9)}.layer-panel{right:10px;width:min(280px,calc(100vw - 20px));max-height:60vh}.info{left:10px;bottom:10px;font-size:12px;max-width:200px}}
