.structure-tree-panel{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.tree-node{position:relative}.tree-node:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:#e5e7eb;opacity:.5}.tree-children{position:relative}.tree-children:before{content:"";position:absolute;left:12px;top:0;bottom:0;width:1px;background:#e5e7eb;opacity:.3}.tree-node [data-selected=true]{background-color:#dbeafe;color:#1e40af;font-weight:500}.tree-node [data-locked=true]{opacity:.6;position:relative}.tree-node [data-locked=true]:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(156,163,175,.1) 2px,rgba(156,163,175,.1) 4px);pointer-events:none;border-radius:4px}.tree-node button:hover{background-color:#f3f4f6;transition:background-color .15s ease}.tree-node mark{background-color:#fef3c7;color:#92400e;padding:1px 2px;border-radius:2px}.tree-statistics{background:#f8fafc;border-radius:4px;font-size:11px;color:#64748b}.tree-container::-webkit-scrollbar{width:6px}.tree-container::-webkit-scrollbar-track{background:transparent}.tree-container::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.tree-container::-webkit-scrollbar-thumb:hover{background:#9ca3af}.element-text{color:#2563eb}.element-path{color:#059669}.element-subpath{color:#10b981}.element-command{color:#34d399}.element-group{color:#7c3aed}.element-image{color:#ea580c}.element-symbol{color:#4f46e5}.element-use{color:#ec4899}.tree-children{animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}@media (max-width: 768px){.tree-node{font-size:13px}.tree-node .element-icon{width:12px;height:12px}}*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;overscroll-behavior-x:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#root{height:100vh;overflow:hidden;overscroll-behavior:none;overscroll-behavior-x:none;overscroll-behavior-y:none}.svg-editor{position:relative;width:100%;height:100%;background:#f5f5f5}.toolbar-container{position:absolute;top:0;left:0;right:0;height:60px;background:#fff;border-bottom:1px solid #e0e0e0;z-index:var(--z-index-floating-toolbar);display:flex;align-items:center;padding:0 10px;gap:10px}.sidebar-container{position:absolute;right:0;top:60px;bottom:0;width:250px;background:#fff;border-left:1px solid #e0e0e0;z-index:var(--z-index-overlays);overflow-y:auto;padding:2px}.sidebar-container.accordion-mode{width:200px;padding:0}button{background:#fff;border:1px solid #ccc;border-radius:4px;padding:2px;font-size:12px;transition:all .2s}button:hover{background:#f0f0f0;border-color:#999}button:active{background:#e0e0e0}button:focus{outline:none;border-color:#374151}button:disabled{opacity:.5}button.active{background:#374151;color:#fff;border-color:#1f2937}button.active:hover{background:#1f2937}.control-panel{background:#fff;border-radius:4px;box-shadow:0 2px 8px #0000001a;padding:2px;margin-bottom:10px}.control-panel h3{margin:0 0 10px;font-size:14px;font-weight:600;color:#333}.control-group{margin-bottom:12px}.control-group:last-child{margin-bottom:0}.control-group input[type=text],.control-group input[type=number],.control-group select{width:100%;padding:2px;border:1px solid #ccc;border-radius:3px;font-size:12px;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.color-input-group{display:flex;align-items:center;gap:8px}.color-input-group input[type=color]{width:40px;height:30px;border:1px solid #ccc;border-radius:3px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:4px;margin-bottom:10px}.tool-button{min-height:40px;font-family:Courier New,monospace;font-weight:700}.status-display{font-size:11px;color:#666;text-align:center;padding:2px;background:#f8f8f8;border-radius:3px}.svg-editor.fullscreen{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;z-index:var(--z-index-modals)!important}.path-element{transition:filter .2s ease}.command-point{transition:all .1s ease}.control-point-interaction-overlay,.command-point-interaction-overlay,.transform-resize-interaction-overlay,.transform-rotate-interaction-overlay{fill:transparent;stroke:none;pointer-events:all;cursor:default}circle[data-control-point],circle[data-command-id],path[data-command-id]{cursor:default!important}.grid-overlay line{pointer-events:none}.accordion-panel-content .draggable-panel,.accordion-panel-wrapper{position:static!important;transform:none!important;box-shadow:none!important;border:none!important;border-radius:0!important;background:transparent!important;width:100%!important;max-width:none!important;min-width:auto!important;z-index:auto!important;margin:0!important;opacity:1!important;left:auto!important;top:auto!important}.accordion-panel-content .drag-handle,.accordion-panel-wrapper .drag-handle{display:none!important}.accordion-panel-content .draggable-panel>div:last-child,.accordion-panel-wrapper .draggable-panel>div:last-child{padding:0!important}.accordion-panel-wrapper *{position:static!important;transform:none!important}.accordion-sidebar{position:fixed;top:0;right:0;width:320px;height:100vh;background:#fff;border-left:1px solid #e0e0e0;z-index:var(--z-index-texts);display:flex;flex-direction:column;overflow:hidden;box-shadow:-2px 0 8px #0000001a}.accordion-sidebar input,.accordion-sidebar textarea,.accordion-sidebar select,.accordion-panel-content input,.accordion-panel-content textarea,.accordion-panel-content select{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;font-size:16px}.accordion-sidebar{width:200px;max-width:200px;min-width:200px;height:100%;display:flex;flex-direction:column;background:#fff;border-left:1px solid #e0e0e0;overflow:hidden;box-sizing:border-box}.svg-editor{touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;width:100%;height:100vh;position:relative}.accordion-sidebar [data-accordion-panel-header=true]{touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,118,204,.1);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}[data-accordion-toggle=true]{touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,118,204,.2);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.svg-editor svg{overscroll-behavior:none;overscroll-behavior-x:none;overscroll-behavior-y:none;touch-action:none;-webkit-overflow-scrolling:auto}html,body{overscroll-behavior-x:none}.mobile-toolbar-item button{min-width:28px!important;min-height:28px!important;padding:4px!important;font-size:12px!important;touch-action:manipulation;-webkit-tap-highlight-color:rgba(59,130,246,.1)}.bottom-sheet{touch-action:none}.bottom-sheet *{-webkit-overflow-scrolling:touch}.mobile-plugin-menu button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color .15s ease;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mobile-plugin-menu button:active{background-color:#f3f4f6!important}@supports (-webkit-touch-callout: none){.bottom-sheet{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.mobile-plugin-menu{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:calc(100% + 40px)}.bottom-sheet>div:last-child{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.mobile-plugin-menu button{min-height:44px;padding:12px 16px}.mobile-plugin-menu{padding-bottom:max(40px,env(safe-area-inset-bottom))!important}}.mobile-toolbar-container{scrollbar-width:none;-ms-overflow-style:none}.mobile-toolbar-container::-webkit-scrollbar{display:none}@media (pointer: coarse){.mobile-toolbar-container{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}}.mobile-toolbar-section{padding:0 4px}@media (max-width: 768px){.mobile-toolbar-container{padding:8px 12px}.mobile-toolbar-container .undo-redo-controls,.mobile-toolbar-container .zoom-controls,.mobile-toolbar-container .creation-tools,.mobile-toolbar-container .delete-control,.mobile-toolbar-container .fullscreen-control{display:none}}@media (max-width: 768px){.svg-editor{height:100vh;height:100dvh}.accordion-sidebar{display:none!important}.svg-editor svg{touch-action:pan-x pan-y}.command-point,.control-point{stroke-width:2!important}.selection-handle,.transform-handle{width:16px!important;height:16px!important}}@media (min-width: 769px) and (max-width: 1024px){.mobile-toolbar-item button{min-width:32px!important;min-height:32px!important;padding:6px!important}}@media (pointer: coarse){input[type=color]{width:48px!important;height:48px!important;border-radius:8px!important}select{min-height:44px!important;font-size:16px!important}input[type=text]:not(.text-edit-overlay-input),input[type=number]:not(.text-edit-overlay-input),textarea:not(.text-edit-overlay-textarea){min-height:44px!important;font-size:16px!important;padding:12px!important}}@media (pointer: coarse){button,input,select,textarea{touch-action:manipulation}}@supports (padding: max(0px)){:root{--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--toolbar-safe-top: max(0px, var(--safe-area-inset-top));--toolbar-safe-left: max(16px, calc(16px + var(--safe-area-inset-left)));--toolbar-safe-right: max(16px, calc(16px + var(--safe-area-inset-right)));--toolbar-safe-bottom: max(8px, calc(8px + var(--safe-area-inset-bottom)));--bottom-sheet-safe-bottom: max(16px, calc(16px + var(--safe-area-inset-bottom)));--bottom-sheet-safe-left: max(16px, calc(16px + var(--safe-area-inset-left)));--bottom-sheet-safe-right: max(16px, calc(16px + var(--safe-area-inset-right)));--floating-button-safe-right: max(24px, calc(24px + var(--safe-area-inset-right)));--floating-button-safe-bottom: max(24px, calc(24px + var(--safe-area-inset-bottom)));--canvas-safe-top: var(--safe-area-inset-top);--canvas-safe-right: var(--safe-area-inset-right);--canvas-safe-bottom: var(--safe-area-inset-bottom);--canvas-safe-left: var(--safe-area-inset-left)}.svg-editor{padding-top:var(--canvas-safe-top);padding-right:var(--canvas-safe-right);padding-bottom:var(--canvas-safe-bottom);padding-left:var(--canvas-safe-left)}.mobile-toolbar{padding-top:var(--toolbar-safe-top);padding-left:var(--toolbar-safe-left);padding-right:var(--toolbar-safe-right);padding-bottom:var(--toolbar-safe-bottom)}.mobile-toolbar-container{padding-left:var(--toolbar-safe-left);padding-right:var(--toolbar-safe-right)}.bottom-sheet{padding-bottom:var(--bottom-sheet-safe-bottom);padding-left:var(--bottom-sheet-safe-left);padding-right:var(--bottom-sheet-safe-right)}.mobile-plugin-menu{padding-bottom:max(40px,calc(40px + var(--safe-area-inset-bottom)))!important;padding-left:var(--bottom-sheet-safe-left);padding-right:var(--bottom-sheet-safe-right)}.mobile-floating-button{bottom:var(--floating-button-safe-bottom);right:var(--floating-button-safe-right)}.drawing-floating-toolbar{margin-bottom:max(8px,calc(8px + var(--safe-area-inset-bottom)));margin-right:max(8px,calc(8px + var(--safe-area-inset-right)));margin-left:max(8px,calc(8px + var(--safe-area-inset-left)))}.text-edit-overlay{top:max(50px,calc(50px + var(--safe-area-inset-top)));left:max(16px,calc(16px + var(--safe-area-inset-left)));right:max(16px,calc(16px + var(--safe-area-inset-right)))}.mobile-text-edit-modal{top:var(--safe-area-inset-top);bottom:var(--safe-area-inset-bottom);left:var(--safe-area-inset-left);right:var(--safe-area-inset-right)}.animation-controls{bottom:max(80px,calc(80px + var(--safe-area-inset-bottom)));left:max(16px,calc(16px + var(--safe-area-inset-left)));right:max(16px,calc(16px + var(--safe-area-inset-right)))}.fullscreen .svg-editor{padding-top:var(--safe-area-inset-top);padding-right:var(--safe-area-inset-right);padding-bottom:var(--safe-area-inset-bottom);padding-left:var(--safe-area-inset-left)}@media (orientation: landscape){:root{--toolbar-safe-top: max(8px, calc(8px + var(--safe-area-inset-top)));--floating-button-safe-bottom: max(16px, calc(16px + var(--safe-area-inset-bottom)));--bottom-sheet-safe-bottom: max(12px, calc(12px + var(--safe-area-inset-bottom)))}.mobile-toolbar{padding-left:max(44px,calc(16px + var(--safe-area-inset-left)));padding-right:max(44px,calc(16px + var(--safe-area-inset-right)))}}@media (orientation: portrait){:root{--bottom-sheet-safe-bottom: max(20px, calc(20px + var(--safe-area-inset-bottom)));--floating-button-safe-bottom: max(28px, calc(28px + var(--safe-area-inset-bottom)))}}}@media (prefers-color-scheme: dark){.bottom-sheet{background-color:#1f2937;color:#fff}.mobile-plugin-menu button{background-color:#374151;color:#fff;border-color:#4b5563}.mobile-plugin-menu button:active{background-color:#4b5563!important}}.context-actions-carousel{width:100%;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e5e5e5}.carousel-container{position:relative;width:100%}.carousel-scroll{display:flex;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;gap:12px;padding:8px 16px}.carousel-scroll::-webkit-scrollbar{display:none}.carousel-action{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:12px 8px;min-width:72px;height:72px;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.carousel-action:hover:not(.disabled){background:#f8f9fa;border-color:#374151;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.carousel-action:active:not(.disabled){transform:translateY(0);box-shadow:0 2px 4px #0000001a}.carousel-action.disabled{opacity:.5;background:#f5f5f5}.action-icon{display:flex;align-items:center;justify-content:center;color:#333;margin-bottom:4px}.carousel-action.disabled .action-icon{color:#999}.action-label{font-size:10px;font-weight:500;color:#666;text-align:center;line-height:1.2;max-width:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.carousel-action.disabled .action-label{color:#999}@media (prefers-color-scheme: dark){.context-actions-carousel{border-bottom-color:#e5e5e5}.carousel-action{background:#fff!important;border-color:#e5e5e5!important;color:#333!important}.carousel-action:hover:not(.disabled){background:#f8f9fa!important;border-color:#374151!important}.carousel-action.disabled{background:#f5f5f5!important;color:#999!important}.action-icon{color:#333!important}.carousel-action.disabled .action-icon{color:#999!important}.action-label{color:#666!important}.carousel-action.disabled .action-label{color:#999!important}}@media (pointer: coarse){.text-edit-overlay-input.text-edit-overlay-input-single,.text-edit-overlay-input.text-edit-overlay-textarea{min-height:unset!important;padding:0!important;box-sizing:content-box!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;font-size:unset!important}}.text-edit-overlay-input.text-edit-overlay-input-single,.text-edit-overlay-input.text-edit-overlay-textarea{margin:0!important;border-radius:0!important;outline:none!important;border:none!important;background:transparent!important;font-variant-ligatures:none!important;font-feature-settings:normal!important;text-rendering:geometricPrecision!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important;position:fixed!important;-webkit-user-select:text!important;-moz-user-select:text!important;user-select:text!important;-webkit-focus-ring-color:transparent!important;-webkit-tap-highlight-color:transparent!important}.text-edit-overlay-input.text-edit-overlay-input-single:focus,.text-edit-overlay-input.text-edit-overlay-textarea:focus{outline:none!important;border:none!important;box-shadow:none!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;background:transparent!important}.text-edit-overlay-input.text-edit-overlay-input-single:hover,.text-edit-overlay-input.text-edit-overlay-textarea:hover{outline:none!important;border:none!important;box-shadow:none!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;background:transparent!important}@keyframes sticky-pulse{0%{opacity:.8;stroke-dashoffset:0}50%{opacity:1;stroke-dashoffset:6}to{opacity:.8;stroke-dashoffset:12}}.creation-mode-overlay{cursor:crosshair!important;pointer-events:all!important;fill:#0000!important;z-index:var(--z-index-modals)!important}.creation-mode-overlay.pencil-mode,.creation-mode-overlay.curves-mode,.creation-mode-overlay.shapes-mode,.creation-mode-overlay.smooth-mode{cursor:crosshair!important}.creation-mode-overlay.text-mode{cursor:text!important}svg:has(.creation-mode-overlay){cursor:crosshair!important}svg:has(.creation-mode-overlay.text-mode){cursor:text!important}svg:has(.creation-mode-overlay) *{cursor:crosshair!important;pointer-events:none!important}svg:has(.creation-mode-overlay.text-mode) *{cursor:text!important;pointer-events:none!important}svg:has(.creation-mode-overlay) .creation-mode-overlay{pointer-events:all!important}.history-modal .modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity .2s ease}.history-modal .modal-content{animation:historyModalSlideIn .3s ease-out;transition:all .2s ease}@keyframes historyModalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.history-modal pre{scrollbar-width:thin;scrollbar-color:#d1d5db #f9fafb}.history-modal pre::-webkit-scrollbar{width:6px;height:6px}.history-modal pre::-webkit-scrollbar-track{background:#f9fafb;border-radius:3px}.history-modal pre::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.history-modal pre::-webkit-scrollbar-thumb:hover{background:#9ca3af}.history-modal button{transition:all .15s ease}.history-modal button:hover{transform:translateY(-1px)}.history-modal button:active{transform:translateY(0)}.safe-area-debug{position:relative}.safe-area-debug:before{content:"";position:fixed;top:0;left:0;right:0;height:var(--debug-safe-area-top, 0);background-color:#ff00004d;border-bottom:2px solid rgba(255,0,0,.8);pointer-events:none;z-index:9998}.safe-area-debug:after{content:"";position:fixed;bottom:0;left:0;right:0;height:var(--debug-safe-area-bottom, 0);background-color:#ff00004d;border-top:2px solid rgba(255,0,0,.8);pointer-events:none;z-index:9998}.safe-area-boundary{box-sizing:border-box}.mobile-safe-area-container{box-sizing:border-box;width:100%;overflow-x:hidden}.mobile-safe-area-container.mobile-fullscreen{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;z-index:9999}@media (max-width: 768px){.safe-area-mobile-only{display:block}.safe-area-desktop-only{display:none}}@media (min-width: 769px){.safe-area-mobile-only{display:none}.safe-area-desktop-only{display:block}}@media (orientation: landscape) and (max-width: 1024px){.safe-area-hide-landscape{display:none}.safe-area-show-landscape{display:block}}@media (orientation: portrait){.safe-area-hide-landscape{display:block}.safe-area-show-landscape{display:none}}@supports (-webkit-touch-callout: none){.mobile-safe-area-container{overscroll-behavior:none;-webkit-overflow-scrolling:touch}.safe-area-boundary,.mobile-safe-area-container{touch-action:manipulation}}@media (prefers-contrast: high){.safe-area-debug:before,.safe-area-debug:after{background-color:#f009;border-color:red}}@media (prefers-reduced-motion: reduce){.safe-area-boundary,.mobile-safe-area-container{transition:none}}@media print{.safe-area-boundary,.mobile-safe-area-container{padding:0!important;margin:0!important}.safe-area-debug:before,.safe-area-debug:after{display:none}}
