.pan-zoom-panel{position:fixed;display:flex;flex-direction:row;align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000001f,0 2px 4px #00000014;padding:4px;z-index:1000;border:1px solid #e2e8f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pan-zoom-panel--top-right{top:80px;right:20px}.pan-zoom-panel--top-left{top:80px;left:20px}.pan-zoom-panel--bottom-right{bottom:20px;right:20px}.pan-zoom-panel--bottom-left{bottom:20px;left:20px}.pan-zoom-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:8px;cursor:pointer;color:#475569;font-size:0;position:relative;overflow:hidden}.pan-zoom-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:8px;opacity:0;transition:opacity .2s ease}.pan-zoom-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.pan-zoom-btn:disabled:hover{background:transparent}.pan-zoom-btn svg{width:16px;height:16px;stroke-width:2.5;position:relative;z-index:1}.pan-zoom-btn:hover:not(:disabled) svg{transform:scale(1.1)}.pan-zoom-display{font-size:12px;font-weight:600;color:#64748b;padding:4px 8px;text-align:center;-webkit-user-select:none;user-select:none;font-family:SF Pro Display,system-ui,-apple-system,sans-serif;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.pan-zoom-display:hover{background:#f1f5f9;color:#475569}.pan-zoom-btn--in{order:1}.pan-zoom-btn--out{order:3}.pan-zoom-display{order:2}.pan-zoom-btn--in:hover:not(:disabled){background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534}.pan-zoom-btn--out:hover:not(:disabled){background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.pan-zoom-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media (max-width: 768px){.pan-zoom-panel{padding:8px;gap:2px}.pan-zoom-btn{width:32px;height:32px}.pan-zoom-btn svg{width:16px;height:16px}.pan-zoom-display{font-size:12px}.pan-zoom-panel--top-right,.pan-zoom-panel--bottom-right{right:12px}.pan-zoom-panel--top-left,.pan-zoom-panel--bottom-left{left:12px}}@media (prefers-color-scheme: dark){.pan-zoom-panel{background:#1e293b;border-color:#475569;box-shadow:0 4px 16px #0006,0 2px 4px #0003}.pan-zoom-panel:hover{box-shadow:0 8px 24px #00000080,0 4px 8px #0000004d}.pan-zoom-btn{color:#cbd5e1}.pan-zoom-btn:before{background:linear-gradient(135deg,#334155,#475569)}.pan-zoom-btn:hover:not(:disabled){background:#334155;color:#f1f5f9}.pan-zoom-btn:active:not(:disabled){background:#475569}.pan-zoom-display{color:#94a3b8;background:#334155;border-color:#475569}.pan-zoom-display:hover{background:#475569;color:#cbd5e1}.pan-zoom-btn--in:hover:not(:disabled){background:linear-gradient(135deg,#166534,#15803d);color:#dcfce7}.pan-zoom-btn--out:hover:not(:disabled){background:linear-gradient(135deg,#92400e,#a16207);color:#fef3c7}}.pan-zoom-panel{animation:panZoomFadeIn .3s ease-out}@keyframes panZoomFadeIn{0%{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.pan-zoom-panel--loading{pointer-events:none}.pan-zoom-panel--loading .pan-zoom-btn,.pan-zoom-panel--loading .pan-zoom-display{opacity:.6}@media (prefers-contrast: high){.pan-zoom-panel{border:2px solid #000;box-shadow:0 4px 8px #0000004d}.pan-zoom-btn{border:1px solid #000}.pan-zoom-btn:hover:not(:disabled){background:#000;color:#fff}.pan-zoom-display{border:1px solid #000;background:#fff;color:#000}}@media (prefers-reduced-motion: reduce){.pan-zoom-panel,.pan-zoom-btn,.pan-zoom-display{transition:none;animation:none}.pan-zoom-btn:hover:not(:disabled){transform:none}}@media (max-width: 768px){.pan-zoom-panel{padding:2px;flex-direction:column;inset:50px 10px auto auto;align-items:center}.pan-zoom-display{padding:2px}}.tools-panel{position:absolute;top:50%;left:0;transform:translateY(-50%);background-color:var(--bg-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 5px;border-radius:0 10px 10px 0;border:1px solid var(--bg-tertiary);box-shadow:var(--shadow-md);gap:4px;z-index:10}.tools-panel input[type=color]{width:30px;outline:none;border:1px solid var(--bg-tertiary);appearance:none;background-color:transparent}button.active{background-color:var(--bg-tertiary);border-radius:5px;color:var(--primary-color)}.tool-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--text-primary);transition:all .2s ease}.tool-btn:hover{background-color:var(--bg-tertiary)}@media screen and (max-width: 768px){.tools-panel{padding:3px}}.shortcuts-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.shortcuts-modal{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:90%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.shortcuts-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;background-color:var(--primary-color);color:var(--text-white)}.shortcuts-header h2{margin:0;font-size:1.25rem;font-weight:500}.shortcuts-close{background:none;border:none;color:var(--text-white);font-size:1.5rem;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%}.shortcuts-close:hover{background-color:#fff3}.shortcuts-content{padding:1rem;overflow-y:auto}.shortcuts-group{margin-bottom:1.5rem}.shortcuts-group h3{margin:0 0 .75rem;color:var(--primary-color);font-size:1rem;font-weight:500;padding-bottom:.25rem;border-bottom:1px solid var(--bg-tertiary)}.shortcuts-table{width:100%;border-collapse:collapse}.shortcuts-table tr:nth-child(2n){background-color:var(--bg-tertiary)}.shortcuts-table td{padding:.5rem}.shortcut-description{font-size:.9rem}.shortcut-keys{text-align:right;white-space:nowrap}.shortcuts-table kbd{display:inline-block;padding:.2rem .4rem;font-size:.8rem;line-height:1;color:var(--text-primary);background-color:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:var(--radius-sm);box-shadow:0 1px 1px #0000001a;margin:0 .1rem;min-width:1rem;text-align:center}@media (max-width: 768px){.shortcuts-modal{width:95%;max-height:80vh}.shortcuts-table td{padding:.4rem}.shortcut-description{font-size:.85rem}}.font-selector{display:flex;flex-direction:column;background:#fff;border-radius:6px;box-shadow:0 2px 8px #0000001a;margin-bottom:8px}.font-selector-header{display:flex;gap:8px}.font-category-filter,.font-dropdown{padding:6px 8px;border:1px solid #ccc;border-radius:4px;background:#fff;font-size:13px}.font-dropdown option{padding:4px}.quick-font-styles{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.quick-styles-label{font-size:12px;font-weight:500;color:#666;margin-right:6px;flex-shrink:0}.quick-style-btn{padding:4px 8px;border:1px solid #ddd;border-radius:3px;background:#fff;cursor:pointer;font-size:12px;transition:all .2s ease;white-space:nowrap}.quick-style-btn:hover{background:#f5f5f5;border-color:#999}.quick-style-btn:active{background:#e0e0e0}.text-format-panel .font-selector{margin:4px 0;min-width:250px}.text-format-panel .font-selector-header{gap:6px}.text-format-panel .font-category-filter,.text-format-panel .font-dropdown{font-size:12px;min-height:26px;padding:4px 6px}.text-format-panel .quick-style-btn{padding:3px 6px;font-size:11px}.unified-toolbar{position:absolute;right:0;top:0;display:flex;border-radius:var(--radius-md);background-color:var(--bg-primary);border:1px solid var(--bg-tertiary);box-shadow:var(--shadow-lg);z-index:100;padding:4px}.unified-toolbar .toggle-btn{position:fixed;bottom:10px;right:10px;display:none;z-index:1000;width:40px;height:40px;background-color:#333;border-radius:50%;border:none;background:#111314;background:radial-gradient(circle,#111314,#42403c 100%,#eddd53);box-shadow:0 4px 8px #0003}.toolbar-row{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:2px;gap:4px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.toolbar-row::-webkit-scrollbar{display:none}.toolbar-btn{display:flex;align-items:center;justify-content:center;border:none;margin:0;cursor:pointer;transition:all .15s ease;position:relative;font-size:1rem;width:40px;height:40px;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm)}.toolbar-btn:hover{background:var(--bg-tertiary);color:var(--primary-color)}.toolbar-btn.active{background:var(--bg-tertiary);color:var(--primary-color);box-shadow:var(--shadow-sm)}.toolbar-btn.help-btn{font-size:1rem;font-weight:700}.toolbar-btn.text-btn{position:relative}.toolbar-btn svg{width:22px;height:22px;fill:none}.toolbar-btn.active svg{fill:var(--primary-color);stroke:var(--primary-color)}.panel-section{display:flex;align-items:center;gap:4px;border-right:1px solid var(--bg-tertiary)}.panel-section:last-child{border-right:none}.properties-container{background:var(--bg-tertiary);color:var(--text-primary);padding:4px;border-radius:var(--radius-md) var(--radius-md) var(--radius-sm) var(--radius-sm);overflow:hidden;z-index:1000;display:none}.properties-container.active{display:block;pointer-events:auto;border-bottom:1px solid var(--bg-tertiary)}.property-panel{display:none;flex-wrap:nowrap;align-items:center;gap:4px;padding:4px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none;color:var(--text-primary)}.property-panel::-webkit-scrollbar{display:none}.property-panel.active{display:block}.utilities-panel{display:flex}.property-label{font-size:11px;font-weight:500;margin-right:2px}.color-swatch{width:16px;height:16px;border-radius:50%;margin:1px;cursor:pointer;border:1px solid #e5e7eb;transition:box-shadow .15s}.color-swatch:hover{box-shadow:0 0 0 1.5px var(--primary-color)}.color-swatch.active{box-shadow:0 0 0 2px var(--primary-color);border:1px solid var(--primary-color)}.transparent-swatch{background-image:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(-45deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(-45deg,transparent 75%,#ccc 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px}.custom-color-swatch{display:flex;align-items:center;justify-content:center;background-color:#fff}.custom-color-swatch svg{width:12px;height:12px;opacity:.7}.custom-color-swatch:hover svg{opacity:1}.brush-size{width:80px;margin:0 4px;height:4px;-webkit-appearance:none;appearance:none;background:#d1d1d1;border-radius:2px}.brush-size::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#1a73e8;cursor:pointer}.brush-size::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#1a73e8;cursor:pointer;border:none}.font-size-input{width:36px;padding:2px 4px;border:1px solid #e0e0e0;border-radius:var(--radius-sm);text-align:center;font-size:.85rem;background:#fff;color:var(--text-primary)}.font-size-slider{width:80px;height:4px;-webkit-appearance:none;appearance:none;background:#d1d1d1;border-radius:2px}.font-size-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#1a73e8;cursor:pointer}.font-size-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#1a73e8;cursor:pointer;border:none}.format-group,.size-group{display:flex;align-items:center;gap:4px}.toolbar-btn{margin:0;padding:0;font-size:16px}.arrow-types-group{display:flex;flex-wrap:nowrap;gap:2px}.arrow-types-group .toolbar-btn,.format-group .toolbar-btn,.size-group .toolbar-btn{min-width:32px;width:32px;height:32px}.toolbar-btn[data-active=true],.format-group .toolbar-btn[data-active=true],.arrow-types-group .toolbar-btn[data-active=true]{background-color:#e8f0fe;border:1px solid #1a73e8}.toolbar-btn.more-btn{font-size:1.5rem;font-weight:700;line-height:.5}.more-panel{display:flex}.file-operations-group,.import-export-group{display:flex;flex-wrap:nowrap;gap:2px}.file-operations-group .toolbar-btn,.import-export-group .toolbar-btn{min-width:32px;width:32px;padding:0;margin:0;font-size:16px;height:32px}.property-label{font-size:12px;font-weight:500;color:var(--text-secondary);margin-right:4px;margin-bottom:3px;margin-top:4px}.brush-size{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:#ddd;border-radius:2px;outline:none;margin:10px 0;cursor:pointer}.brush-size::-webkit-slider-runnable-track{height:4px;background:#ddd;border-radius:2px}.brush-size::-moz-range-track{height:4px;background:#ddd;border-radius:2px}.brush-size::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#333;cursor:pointer;margin-top:-5px}.brush-size::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#333;border:none;cursor:pointer}.arrow-type-properties{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.line-style-properties{display:flex;gap:4px;margin-bottom:8px}.arrow-type-properties .toolbar-btn,.line-style-properties .toolbar-btn{min-width:36px;height:36px;padding:6px;border-radius:var(--radius-sm);border:1px solid var(--bg-tertiary);background:var(--bg-secondary);color:var(--text-primary);transition:all .15s ease;display:flex;align-items:center;justify-content:center;position:relative}.arrow-type-properties .toolbar-btn:hover,.line-style-properties .toolbar-btn:hover{background:var(--bg-tertiary);border-color:var(--accent-color);transform:translateY(-1px)}.arrow-type-properties .toolbar-btn.active,.line-style-properties .toolbar-btn.active,.arrow-type-properties .toolbar-btn[data-active=true],.line-style-properties .toolbar-btn[data-active=true]{background:var(--accent-color);border-color:var(--accent-color);color:#fff;box-shadow:0 2px 4px #4f46e54d}.arrow-type-properties .toolbar-btn svg,.line-style-properties .toolbar-btn svg{width:18px;height:18px;stroke:currentColor}.arrow-curved-btn svg{transform:scale(.9)}.line-style-properties .toolbar-btn{width:50px}.line-dotted-btn svg circle,.line-dashed-btn svg path{fill:currentColor;stroke:currentColor}@media (max-width: 768px){.unified-toolbar .toggle-btn{display:block}.unified-toolbar{top:auto;right:0;bottom:60px;max-width:98%;padding:2px}.toolbar-row{padding:1px;gap:1px}.toolbar-btn{width:32px;height:32px;padding:2px;min-width:32px}.toolbar-btn svg{width:18px;height:18px}.property-panel{padding:2px;gap:2px}}.left-arrow-panel,.right-arrow-panel{display:flex;background-color:#fff;flex-direction:row;gap:4px;flex-wrap:wrap;justify-content:flex-start;align-items:center;border-radius:var(--radius-sm);background:var(--bg-primary);padding:4px;border:1px solid var(--bg-tertiary)}.left-arrow-panel .toolbar-btn,.right-arrow-panel .toolbar-btn{min-width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;transition:all .2s ease}.left-arrow-panel .toolbar-btn:hover,.right-arrow-panel .toolbar-btn:hover{background:var(--bg-secondary);border-color:var(--border-primary)}.left-arrow-panel .toolbar-btn[data-active=true],.right-arrow-panel .toolbar-btn[data-active=true]{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.left-arrow-panel .toolbar-btn[data-active=true]:hover,.right-arrow-panel .toolbar-btn[data-active=true]:hover{background:var(--accent-secondary);border-color:var(--accent-secondary)}@media (max-width: 768px){.left-arrow-panel,.right-arrow-panel{gap:2px;padding:2px}.left-arrow-panel .toolbar-btn,.right-arrow-panel .toolbar-btn{min-width:28px;height:28px}}.arrow-end-controls{position:relative;display:flex;gap:8px;align-items:center}.arrow-dropdown{position:absolute;bottom:0;left:0;background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:8px;box-shadow:var(--shadow-lg);z-index:1000;min-width:140px;padding:8px;margin-top:4px}.arrow-dropdown.hidden{display:none}.arrow-dropdown .toolbar-btn{width:32px;height:32px;margin:2px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ui-border);background:#fff;border-radius:4px;cursor:pointer;transition:all .2s ease}.arrow-dropdown .toolbar-btn:hover{background:var(--ui-hover);border-color:var(--accent-primary)}.arrow-dropdown .toolbar-btn.active,.arrow-dropdown .toolbar-btn[data-active=true]{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.left-end-btn,.right-end-btn{min-width:80px;height:32px;display:flex;align-items:center;justify-content:center;gap:4px;padding:4px 8px;border:1px solid var(--ui-border);background:#fff;border-radius:4px;cursor:pointer;transition:all .2s ease;font-size:12px;color:var(--text-primary)}.left-end-btn:hover,.right-end-btn:hover{background:var(--ui-hover);border-color:var(--accent-primary)}.left-end-btn.active,.right-end-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.drawing-gallery-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;display:flex;justify-content:center;align-items:center}.drawing-gallery-modal{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:80%;max-width:900px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.drawing-gallery-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--bg-tertiary)}.drawing-gallery-header h2{margin:0;font-size:1.5rem;font-weight:600}.gallery-close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.gallery-close-btn:hover{background-color:var(--bg-tertiary)}.drawing-gallery-actions{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--bg-tertiary)}.gallery-action-btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-weight:500;cursor:pointer;transition:all .2s}.create-btn{background-color:var(--primary-color);color:#fff;border:none}.create-btn:hover{background-color:var(--primary-hover)}.import-btn{background-color:transparent;border:1px solid var(--secondary-color);color:var(--text-primary)}.import-btn:hover{background-color:var(--bg-tertiary)}.drawings-list{padding:var(--space-4) var(--space-6);overflow-y:auto;flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.empty-drawings-message{grid-column:1 / -1;text-align:center;padding:var(--space-8);color:var(--text-secondary);font-size:1.1rem}.drawing-card{border:1px solid var(--bg-tertiary);border-radius:var(--radius-md);overflow:hidden;transition:all .2s;cursor:pointer;position:relative}.drawing-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.current-drawing{border:2px solid var(--primary-color)}.drawing-thumbnail{height:150px;background-color:var(--bg-tertiary);background-size:cover;background-position:center;border-bottom:1px solid var(--bg-tertiary)}.no-thumbnail{display:flex;align-items:center;justify-content:center;color:var(--text-light)}.drawing-info{padding:var(--space-3)}.drawing-name-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-1)}.drawing-name{margin:0;font-size:1rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-name-btn{background:none;border:none;cursor:pointer;opacity:.6;font-size:.9rem}.edit-name-btn:hover{opacity:1}.drawing-details{display:flex;justify-content:space-between;color:var(--text-secondary);font-size:.8rem}.card-actions{position:absolute;top:var(--space-3);right:var(--space-3);display:flex;gap:var(--space-1);background-color:#fffc;padding:var(--space-1);border-radius:var(--radius-sm);opacity:0;transition:opacity .2s}.drawing-card:hover .card-actions{opacity:1}.card-action-btn{background:none;border:none;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--radius-sm);transition:all .2s}.card-action-btn:hover{background-color:var(--bg-tertiary)}.drawing-gallery-footer{padding:var(--space-3) var(--space-6);border-top:1px solid var(--bg-tertiary)}.storage-info{font-size:.8rem;color:var(--text-secondary)}.storage-bar{height:4px;background-color:var(--bg-tertiary);border-radius:2px;overflow:hidden;margin-bottom:var(--space-1)}.storage-used{height:100%;background-color:var(--primary-color);transition:width .3s ease}.storage-text{text-align:right}.top-bar{position:fixed;top:0;left:0;display:flex;justify-content:space-between;align-items:center;padding:4px;background-color:var(--bg-primary);border-bottom:1px solid var(--bg-tertiary);min-height:40px;box-sizing:border-box;z-index:1000}.left-section{display:flex;align-items:center;gap:16px}.right-section{position:relative;display:flex;align-items:center;margin-left:5px}.logo{font-size:20px;font-weight:700;color:var(--text-primary)}.project-name{border:1px solid var(--bg-tertiary);border-radius:4px;padding:4px 8px;font-size:14px;color:var(--text-primary);background-color:var(--bg-primary);min-width:120px}.more-btn{display:flex;align-items:center;justify-content:center;padding:2px;border-radius:4px;cursor:pointer;color:var(--text-primary);transition:background-color .2s ease;min-width:32px;min-height:32px;background-color:transparent}.more-btn:hover{background-color:#e9ecef99}.more-btn svg{width:16px;height:16px;stroke:currentColor;fill:none}.more-panel{position:absolute;top:100%;right:0;background-color:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:4px;box-shadow:var(--shadow-md);padding:4px 0;z-index:1000;display:flex;flex-direction:column;min-width:180px}.more-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background-color .2s;color:var(--text-primary);font-size:14px}.more-item:hover{background-color:var(--bg-tertiary)}.more-item svg{width:16px;height:16px;stroke:currentColor;fill:none;flex-shrink:0}.more-label{font-size:14px;white-space:nowrap}.top-bar-btn{display:flex;align-items:center;justify-content:center;padding:6px 12px;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s ease;min-height:32px;min-width:32px}.top-bar-btn:hover{background-color:#e9ecef99;border-color:#adb5bd}.top-bar-btn:active{background-color:#dee2e6cc;transform:translateY(1px)}.top-bar-btn svg{width:16px;height:16px;stroke:currentColor;fill:none}.new-btn:hover{background-color:var(--bg-tertiary);border-color:var(--accent-color);color:var(--accent-color)}.open-btn:hover{background-color:var(--bg-tertiary);border-color:var(--primary-color);color:var(--primary-color)}.save-btn:hover{background-color:var(--bg-tertiary);border-color:var(--warning-color);color:var(--warning-color)}.export-btn:hover{background-color:var(--bg-tertiary);border-color:var(--danger-color);color:var(--danger-color)}.import-btn:hover{background-color:var(--bg-tertiary);border-color:var(--primary-color);color:var(--primary-color)}.theme-btn svg{stroke:var(--primary-color)}.theme-dropdown{position:absolute;top:100%;right:0;background-color:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:4px;box-shadow:var(--shadow-md);z-index:1000;width:180px;display:none}.theme-dropdown.show{display:block}.theme-option{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:all .2s}.theme-option:hover{background-color:var(--bg-tertiary)}.theme-option.active{color:var(--primary-color);background-color:var(--bg-tertiary)}@media (max-width: 768px){.top-bar{padding:6px 12px}.file-section,.import-export-section{gap:6px}.top-bar-btn{padding:4px 8px;min-height:28px;min-width:28px;font-size:12px}.top-bar-btn svg{width:14px;height:14px}}.bottom-bar{position:fixed;bottom:10px;left:10px;background:#fff;border-radius:12px;border-top:1px solid #e0e0e0;display:flex;align-items:center;padding:4px;gap:2px;z-index:1000;box-shadow:0 -2px 8px #0000001a}.bottom-bar-left{display:flex;align-items:center;gap:8px}.bottom-bar .toolbar-btn{display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:6px;width:32px;height:32px;cursor:pointer;color:#374151;transition:all .2s ease}.bottom-bar .toolbar-btn:hover{background-color:#f3f4f6;color:#111827}.bottom-bar .toolbar-btn:active{background-color:#e5e7eb;transform:scale(.95)}.bottom-bar .toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.bottom-bar .toolbar-btn:disabled:hover{background-color:transparent;transform:none}.bottom-bar .toolbar-btn svg{width:16px;height:16px}@media (prefers-color-scheme: dark){.bottom-bar{background:#1f2937;border-top:1px solid #374151;color:#f9fafb}.bottom-bar .toolbar-btn{color:#d1d5db}.bottom-bar .toolbar-btn:hover{background-color:#374151;color:#f9fafb}.bottom-bar .toolbar-btn:active{background-color:#4b5563}}.promo-container{position:fixed;bottom:10px;right:10px;padding:8px 12px;background-color:#ffffffe6;border:1px solid #ddd;border-radius:6px;box-shadow:0 2px 5px #0000001a;font-size:13px;font-family:Comic Neue,sans-serif;color:#333;z-index:1000;-webkit-user-select:none;user-select:none;max-width:300px;transition:opacity .3s ease-in-out}.creator-info{display:flex;align-items:flex-start;gap:8px;position:relative}.creator-info .content{flex:1}.creator-info .title{font-weight:700;margin-bottom:2px}.creator-info .subtitle{margin-bottom:4px}.creator-info .link{color:#009dff;text-decoration:none;margin-top:4px;display:inline-block}.creator-info .link:hover{text-decoration:underline}.offer-content{display:flex;flex-direction:column;gap:6px;position:relative}.offer-content .title{font-weight:700;color:#009dff;padding-right:15px}.offer-content .link{color:#009dff;text-decoration:none;font-weight:700;margin-top:4px;display:inline-block}.offer-content .link:hover{text-decoration:underline}.promo-close{cursor:pointer;font-size:16px;line-height:1;color:#999;margin-left:10px}.promo-close-absolute{cursor:pointer;font-size:16px;line-height:1;position:absolute;right:0;top:0;color:#999}.promo-close:hover,.promo-close-absolute:hover{color:#333}.promo-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:9999;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.ad-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;z-index:9999;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.promo-modal{background-color:#fff;padding:24px;border-radius:12px;box-shadow:0 8px 32px #0000004d;max-width:400px;width:90%;max-height:80%;overflow:auto;position:relative;font-family:Comic Neue,sans-serif;color:#333;animation:promoFadeIn .3s ease-out}.ad-modal{background-color:#fff;padding:20px;border-radius:16px;box-shadow:0 12px 40px #0006;max-width:500px;width:90%;max-height:80%;overflow:auto;position:relative;font-family:Comic Neue,sans-serif;color:#333;animation:adFadeIn .4s ease-out}.modal-content{position:relative}.modal-close{cursor:pointer;font-size:24px;line-height:1;position:absolute;right:0;top:-5px;color:#999;font-weight:700;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.modal-close:hover{background-color:#f0f0f0}.ad-modal-close{cursor:pointer;font-size:28px;line-height:1;position:absolute;right:-5px;top:-5px;color:#999;font-weight:700;width:35px;height:35px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;background:#ffffffe6;box-shadow:0 2px 8px #0000001a}.ad-modal-close:hover{background-color:#f5f5f5;color:#333;transform:scale(1.1)}.modal-title{font-size:24px;font-weight:700;color:#009dff;margin-bottom:12px;padding-right:40px}.ad-modal-title{font-size:28px;font-weight:700;color:#009dff;margin-bottom:12px;text-align:center;line-height:1.2}.modal-description{font-size:16px;line-height:1.5;margin-bottom:8px}.ad-modal-description{font-size:16px;line-height:1.6;margin-bottom:8px;text-align:center;color:#555}.ad-image-container{margin-bottom:16px;text-align:center}.ad-image{max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #0000001a;opacity:0;transition:opacity .3s ease}.ad-image.loaded{opacity:1}.action-button-container{margin-top:16px}.ad-action-button-container{margin-top:20px;text-align:center}.action-button{display:inline-block;background-color:#009dff;color:#fff;padding:10px 20px;text-decoration:none;border-radius:6px;font-weight:700;transition:background-color .2s}.action-button:hover{background-color:#0080cc}.ad-action-button{display:inline-block;background:linear-gradient(135deg,#009dff,#0080cc);color:#fff;padding:12px 24px;text-decoration:none;border-radius:8px;font-weight:700;font-size:16px;transition:all .3s;box-shadow:0 4px 12px #009dff4d}.ad-action-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #009dff66}.sponsor-info{margin-top:16px;text-align:center;font-size:12px;color:#999;opacity:.8}.sponsor-badge{display:inline-block;background-color:#f0f8ff;color:#009dff;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:700;margin-top:8px;border:1px solid #e0f0ff}@keyframes promoFadeIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes adFadeIn{0%{opacity:0;transform:scale(.8) translateY(-30px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes adFadeOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.8) translateY(-30px)}}@media (max-width: 768px){.promo-container{bottom:5px;right:5px;max-width:280px;font-size:12px}.promo-modal{width:95%;padding:20px;max-width:350px}.ad-modal{width:95%;padding:16px;max-width:400px}.modal-title,.ad-modal-title{font-size:20px}.modal-description,.ad-modal-description{font-size:14px}.ad-action-button{padding:10px 20px;font-size:14px}}@media (max-width: 480px){.promo-container{bottom:5px;right:5px;left:5px;max-width:none}.promo-modal,.ad-modal{width:95%;padding:16px}.modal-title,.ad-modal-title{font-size:18px;padding-right:30px}}@font-face{font-family:Comic Neue;src:url(/fonts/Comic_Neue/ComicNeue-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Comic Neue;src:url(/fonts/Comic_Neue/ComicNeue-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:Comic Neue;src:url(/fonts/Comic_Neue/ComicNeue-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:Comic Neue;src:url(/fonts/Comic_Neue/ComicNeue-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:Comic Neue;src:url(/fonts/Comic_Neue/ComicNeue-Light.ttf) format("truetype");font-weight:300;font-style:normal}@font-face{font-family:Comic Neue;src:url(/fonts/Comic_Neue/ComicNeue-LightItalic.ttf) format("truetype");font-weight:300;font-style:italic}:root{--primary-color: #4f46e5;--primary-hover: #4338ca;--secondary-color: #6b7280;--accent-color: #10b981;--danger-color: #ef4444;--warning-color: #f59e0b;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-dark: #1e293b;--bg-darker: #0f172a;--text-primary: #1e293b;--text-secondary: #64748b;--text-light: #94a3b8;--text-white: #ffffff;--border-color: #e0e0e0}[data-theme=dark]{--primary-color: #818cf8;--primary-hover: #a5b4fc;--secondary-color: #9ca3af;--accent-color: #34d399;--danger-color: #f87171;--warning-color: #fbbf24;--bg-primary: #1e293b;--bg-secondary: #111827;--bg-tertiary: #1f2937;--bg-dark: #0f172a;--bg-darker: #020617;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-light: #94a3b8;--text-white: #ffffff;--border-color: #374151;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .3), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .3), 0 4px 6px -4px rgb(0 0 0 / .3);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .3), 0 8px 10px -6px rgb(0 0 0 / .3)}:root{--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:var(--text-primary);background-color:var(--bg-secondary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;overflow:hidden;min-height:100vh;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);font-family:Inter,system-ui,sans-serif}#app{width:100vw;height:100vh;position:relative;overflow:hidden}.main-container{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden}.app-toolbar{height:42px;min-height:42px;background-color:var(--bg-dark);display:flex;padding:0 var(--space-4);align-items:center;border-bottom:1px solid var(--bg-darker);box-shadow:var(--shadow-md);z-index:20}.editor-container{position:relative;flex:1;overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--secondary-color);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}input{outline:none;border:none;padding:0;margin:0}input:focus{outline:none}input[type=number]{-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}#app{display:flex;flex-direction:column;height:100vh;width:100vw}.editor-container{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%) translateY(100px);background-color:var(--bg-dark);color:var(--text-white);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;opacity:0;transition:transform .3s ease,opacity .3s ease}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.toast-success{background-color:var(--accent-color)}.toast-error{background-color:var(--danger-color)}.toast-info{background-color:var(--primary-color)}.canvas-container{position:relative}.cursor-default{cursor:default}.cursor-pen{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23000000" stroke-width="2"><circle cx="12" cy="12" r="3" fill="%23000000" stroke="%23ffffff"/></svg>') 12 12,auto}.cursor-line{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23000000" stroke-width="2"><line x1="5" y1="19" x2="19" y2="5" /></svg>') 12 12,crosshair}.cursor-rect{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23000000" stroke-width="2"><rect x="6" y="6" width="12" height="12" /></svg>') 12 12,crosshair}.cursor-circle{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23000000" stroke-width="2"><circle cx="12" cy="12" r="7" /></svg>') 12 12,crosshair}.cursor-arrow{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23000000" stroke-width="2"><line x1="5" y1="12" x2="19" y2="12" /><polyline points="15,8 19,12 15,16" /></svg>') 12 12,crosshair}.cursor-text{cursor:text}.cursor-move{cursor:move}.cursor-select{cursor:pointer}.cursor-eraser{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23000000" stroke-width="2"><rect x="4" y="4" width="16" height="16" stroke="%23000000" fill="rgba(255, 255, 255, 0.5)" /></svg>') 12 12,auto}[data-theme=dark] .cursor-pen{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23ffffff" stroke-width="2"><circle cx="12" cy="12" r="3" fill="%23ffffff" stroke="%23000000"/></svg>') 12 12,auto}[data-theme=dark] .cursor-line,[data-theme=dark] .cursor-rect,[data-theme=dark] .cursor-circle,[data-theme=dark] .cursor-arrow,[data-theme=dark] .cursor-eraser{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23ffffff" stroke-width="2"><circle cx="12" cy="12" r="10" stroke="%23ffffff" fill="rgba(0, 0, 0, 0.3)" /></svg>') 12 12,crosshair}
