*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:#333;background-color:#f5f5f5}#app{min-height:100vh}.header[data-v-e5e5ea09]{background:#fff;border-bottom:1px solid #e0e0e0;padding:1rem 0}.container[data-v-e5e5ea09]{max-width:1200px;margin:0 auto;padding:0 1rem}.logo[data-v-e5e5ea09]{text-decoration:none;color:#007bff;font-size:1.2rem;font-weight:600}.projects-page[data-v-5c8d3cbd]{min-height:100vh;background:#f5f5f5}.projects-container[data-v-5c8d3cbd]{max-width:1400px;margin:0 auto;padding:40px 20px}.projects-header[data-v-5c8d3cbd]{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.projects-header h1[data-v-5c8d3cbd]{font-size:32px;font-weight:600;color:#333}.btn-primary[data-v-5c8d3cbd]{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#06c;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary[data-v-5c8d3cbd]:hover:not(:disabled){background:#07e}.btn-primary[data-v-5c8d3cbd]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-5c8d3cbd]{padding:12px 24px;background:#fff;color:#333;border:1px solid #ddd;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary[data-v-5c8d3cbd]:hover{border-color:#999;background:#f9f9f9}.btn-danger[data-v-5c8d3cbd]{padding:12px 24px;background:#dc3545;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}.btn-danger[data-v-5c8d3cbd]:hover{background:#c82333}.loading[data-v-5c8d3cbd]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#666}.spinner[data-v-5c8d3cbd]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #0066cc;border-radius:50%;animation:spin-5c8d3cbd 1s linear infinite;margin-bottom:16px}@keyframes spin-5c8d3cbd{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message[data-v-5c8d3cbd]{text-align:center;padding:60px 20px;color:#dc3545}.error-message p[data-v-5c8d3cbd]{margin-bottom:20px;font-size:16px}.empty-state[data-v-5c8d3cbd]{text-align:center;padding:80px 20px;color:#666}.empty-state svg[data-v-5c8d3cbd]{margin-bottom:24px;opacity:.3}.empty-state h2[data-v-5c8d3cbd]{font-size:24px;margin-bottom:8px;color:#333}.empty-state p[data-v-5c8d3cbd]{margin-bottom:24px;font-size:16px}.projects-grid[data-v-5c8d3cbd]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.project-card[data-v-5c8d3cbd]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:all .3s;position:relative}.project-card[data-v-5c8d3cbd]:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.project-thumbnail[data-v-5c8d3cbd]{width:100%;height:200px;background:#f9f9f9;display:flex;align-items:center;justify-content:center;overflow:hidden}.project-thumbnail img[data-v-5c8d3cbd]{width:100%;height:100%;object-fit:cover}.thumbnail-placeholder[data-v-5c8d3cbd]{color:#ddd}.project-info[data-v-5c8d3cbd]{padding:20px}.project-info h3[data-v-5c8d3cbd]{font-size:18px;font-weight:600;color:#333;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-description[data-v-5c8d3cbd]{font-size:14px;color:#666;margin-bottom:12px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.project-meta[data-v-5c8d3cbd]{display:flex;align-items:center;gap:12px}.meta-date[data-v-5c8d3cbd]{font-size:13px;color:#999}.project-actions[data-v-5c8d3cbd]{position:absolute;top:12px;right:12px;display:flex;gap:8px;opacity:0;transition:opacity .2s}.project-card:hover .project-actions[data-v-5c8d3cbd]{opacity:1}.action-btn[data-v-5c8d3cbd]{width:36px;height:36px;background:#fffffff2;border:1px solid rgba(0,0,0,.1);border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:#666}.action-btn[data-v-5c8d3cbd]:hover{background:#fff;color:#333;box-shadow:0 2px 8px #00000026}.action-btn.delete-btn[data-v-5c8d3cbd]:hover{background:#dc3545;color:#fff;border-color:#dc3545}.modal-overlay[data-v-5c8d3cbd]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal[data-v-5c8d3cbd]{background:#fff;border-radius:12px;padding:32px;max-width:500px;width:100%;box-shadow:0 8px 32px #0003}.modal h3[data-v-5c8d3cbd]{font-size:24px;font-weight:600;margin-bottom:16px;color:#333}.modal p[data-v-5c8d3cbd]{margin-bottom:12px;color:#666;line-height:1.5}.modal .warning[data-v-5c8d3cbd]{color:#dc3545;font-weight:500}.form-group[data-v-5c8d3cbd]{margin-bottom:20px}.form-group label[data-v-5c8d3cbd]{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.form-group input[data-v-5c8d3cbd],.form-group textarea[data-v-5c8d3cbd]{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:15px;font-family:inherit;transition:border-color .2s}.form-group input[data-v-5c8d3cbd]:focus,.form-group textarea[data-v-5c8d3cbd]:focus{outline:none;border-color:#06c}.form-group textarea[data-v-5c8d3cbd]{resize:vertical}.modal-actions[data-v-5c8d3cbd]{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.tooltip[data-v-4ef45ee9]{position:fixed;z-index:10001;pointer-events:none;animation:tooltipFadeIn-4ef45ee9 .1s ease-out}@keyframes tooltipFadeIn-4ef45ee9{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.tooltip-content[data-v-4ef45ee9]{display:flex;align-items:center;gap:8px;background:#1a1a1a;border:1px solid #3a3a3a;border-radius:6px;padding:6px 10px;box-shadow:0 4px 12px #00000080;white-space:nowrap}.tooltip-text[data-v-4ef45ee9]{font-size:12px;color:#e0e0e0;font-weight:500}.tooltip-shortcut[data-v-4ef45ee9]{font-size:11px;color:#888;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:3px;padding:2px 6px;font-family:monospace}.editor-toolbar[data-v-ab392ff5]{display:flex;align-items:center;gap:20px;padding:12px 20px;background:#252525;border-bottom:1px solid #3a3a3a;flex-shrink:0;min-height:77px}.toolbar-section[data-v-ab392ff5]{display:flex;align-items:center;gap:8px;padding:0 12px;border-right:1px solid #3a3a3a}.toolbar-section.project-info[data-v-ab392ff5]{border-right:none;padding-left:0;gap:12px}.back-btn[data-v-ab392ff5]{width:36px;height:36px;border:none;background:#2a2a2a;color:#aaa;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.back-btn[data-v-ab392ff5]:hover{background:#353535;color:#fff}.project-name h2[data-v-ab392ff5]{font-size:16px;font-weight:600;color:#fff;margin:0}.last-saved[data-v-ab392ff5]{font-size:8px;color:#666}.tool-btn[data-v-ab392ff5]{width:36px;height:36px;border:none;background:#2a2a2a;color:#aaa;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.tool-btn[data-v-ab392ff5]:hover:not(:disabled){background:#353535;color:#fff}.tool-btn[data-v-ab392ff5]:disabled{opacity:.5;cursor:not-allowed}.tool-btn.active[data-v-ab392ff5]{background:#06c;color:#fff}.save-btn[data-v-ab392ff5]{background:#28a745;color:#fff}.save-btn[data-v-ab392ff5]:hover:not(:disabled){background:#34d058}.export-btn[data-v-ab392ff5]{width:auto;padding:0 16px;font-size:14px;font-weight:500;background:#06c;color:#fff}.export-btn[data-v-ab392ff5]:hover{background:#07e}.spinner-icon[data-v-ab392ff5]{animation:spin-ab392ff5 1s linear infinite}@keyframes spin-ab392ff5{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.color-picker-container[data-v-ab392ff5]{display:flex;align-items:center;gap:8px}.color-input[data-v-ab392ff5]{width:40px;height:36px;border:2px solid #3a3a3a;border-radius:6px;cursor:pointer;background:none}.color-input[data-v-ab392ff5]::-webkit-color-swatch-wrapper{padding:0}.color-input[data-v-ab392ff5]::-webkit-color-swatch{border:none;border-radius:4px}.color-label[data-v-ab392ff5]{font-family:monospace;font-size:12px;color:#aaa;min-width:70px}.quick-colors-grid[data-v-ab392ff5]{display:grid;grid-template-columns:repeat(5,24px);gap:4px}.quick-color[data-v-ab392ff5]{width:24px;height:24px;border:2px solid #3a3a3a;border-radius:4px;cursor:pointer;transition:transform .2s}.quick-color[data-v-ab392ff5]:hover{transform:scale(1.15);border-color:#fff}.colors-section[data-v-ab392ff5]{display:flex;gap:8px;align-items:flex-start}.zoom-controls[data-v-ab392ff5]{border-right:none;margin-left:auto;gap:12px}.zoom-level[data-v-ab392ff5]{font-size:13px;color:#aaa;min-width:50px;text-align:center;font-weight:500}.brush-size-container[data-v-ab392ff5]{display:flex;align-items:center;gap:10px}.brush-label[data-v-ab392ff5]{font-size:12px;color:#aaa;font-weight:500}.brush-slider[data-v-ab392ff5]{width:100px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#3a3a3a;border-radius:2px;outline:none;cursor:pointer}.brush-slider[data-v-ab392ff5]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:#06c;border-radius:50%;cursor:pointer;transition:background .2s}.brush-slider[data-v-ab392ff5]::-webkit-slider-thumb:hover{background:#07e}.brush-slider[data-v-ab392ff5]::-moz-range-thumb{width:16px;height:16px;background:#06c;border:none;border-radius:50%;cursor:pointer;transition:background .2s}.brush-slider[data-v-ab392ff5]::-moz-range-thumb:hover{background:#07e}.brush-value[data-v-ab392ff5]{font-size:12px;color:#fff;font-weight:600;min-width:35px;text-align:right}.layer-panel[data-v-6275d9ef]{width:280px;background:#1e1e1e;border-left:1px solid #3a3a3a;display:flex;flex-direction:column;flex-shrink:0}.panel-header[data-v-6275d9ef]{padding:16px;border-bottom:1px solid #3a3a3a;display:flex;justify-content:space-between;align-items:center}.panel-header h3[data-v-6275d9ef]{margin:0;color:#fff;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.header-actions[data-v-6275d9ef]{display:flex;gap:4px}.icon-btn[data-v-6275d9ef]{width:28px;height:28px;border:none;background:#2a2a2a;color:#aaa;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.icon-btn[data-v-6275d9ef]:hover{background:#353535;color:#fff}.icon-btn.merge-btn[data-v-6275d9ef]{background:#1a5c1a;color:#80ff80}.icon-btn.merge-btn[data-v-6275d9ef]:hover{background:#2a7c2a;color:#a0ffa0}.icon-btn-small[data-v-6275d9ef]{width:24px;height:24px;border:none;background:transparent;color:#aaa;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.icon-btn-small[data-v-6275d9ef]:hover{background:#2a2a2a;color:#fff}.icon-btn-small.delete-btn[data-v-6275d9ef]:hover{background:#c00;color:#fff}.layers-list[data-v-6275d9ef]{flex:1;overflow-y:auto;padding:8px}.layer-item[data-v-6275d9ef]{background:#252525;border:2px solid transparent;border-radius:6px;padding:12px;margin-bottom:8px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:8px;position:relative}.layer-item[data-v-6275d9ef]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(128,128,128,.05) 5px,rgba(128,128,128,.05) 10px);pointer-events:none;opacity:0;transition:opacity .2s;border-radius:6px}.layer-item.locked[data-v-6275d9ef]:after{opacity:1}.layer-item.locked[data-v-6275d9ef]{opacity:.7}.layer-item[data-v-6275d9ef]:hover{background:#2a2a2a}.layer-item.active[data-v-6275d9ef]{border-color:#06c;background:#2a2a2a}.layer-item.selected[data-v-6275d9ef]{background:#2d3a4d}.layer-item.selected.active[data-v-6275d9ef]{border-color:#08f}.layer-controls-row[data-v-6275d9ef]{display:flex;align-items:center;gap:8px;width:100%}.layer-checkbox[data-v-6275d9ef]{flex-shrink:0;width:16px;height:16px;cursor:pointer;accent-color:#0066cc}.layer-item>div[data-v-6275d9ef]:first-child{display:flex;align-items:center;gap:8px}.layer-visibility[data-v-6275d9ef]{flex-shrink:0}.layer-icon[data-v-6275d9ef]{flex-shrink:0;color:#aaa;display:flex;align-items:center}.layer-info[data-v-6275d9ef]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.layer-name[data-v-6275d9ef]{color:#fff;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-name-input[data-v-6275d9ef]{background:#1e1e1e;border:1px solid #0066cc;border-radius:3px;color:#fff;font-size:13px;font-weight:500;padding:2px 6px;outline:none;width:100%}.layer-type[data-v-6275d9ef]{color:#666;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.layer-actions[data-v-6275d9ef]{display:flex;gap:4px;margin-left:auto}.layer-opacity[data-v-6275d9ef]{margin-top:4px}.opacity-label[data-v-6275d9ef]{display:flex;align-items:center;gap:8px;font-size:11px;color:#aaa;cursor:pointer}.opacity-label span[data-v-6275d9ef]{min-width:35px;text-align:right}.opacity-slider[data-v-6275d9ef]{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#3a3a3a;border-radius:2px;outline:none}.opacity-slider[data-v-6275d9ef]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;background:#06c;cursor:pointer;border-radius:50%}.opacity-slider[data-v-6275d9ef]::-moz-range-thumb{width:12px;height:12px;background:#06c;cursor:pointer;border-radius:50%;border:none}.context-menu[data-v-d9a1f4c7]{position:fixed;z-index:10000;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:6px;box-shadow:0 4px 12px #00000080;padding:4px;min-width:240px;font-size:13px}.context-menu-item[data-v-d9a1f4c7]{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;border-radius:4px;color:#e0e0e0;transition:background-color .15s;-webkit-user-select:none;user-select:none}.context-menu-item[data-v-d9a1f4c7]:hover{background-color:#3a3a3a}.context-menu-item .icon[data-v-d9a1f4c7]{width:16px;height:16px;flex-shrink:0;color:#a0a0a0}.context-menu-item:hover .icon[data-v-d9a1f4c7]{color:#e0e0e0}.context-menu-item span[data-v-d9a1f4c7]:nth-child(2){flex:1}.context-menu-item .shortcut[data-v-d9a1f4c7]{font-size:11px;color:gray;margin-left:auto}.pixel-art-editor[data-v-086dba6f]{width:100vw;height:100vh;display:flex;flex-direction:column;background:#1e1e1e;overflow:hidden}.editor-container[data-v-086dba6f]{flex:1;display:flex;position:relative;overflow:hidden}.canvas-wrapper[data-v-086dba6f]{flex:1;position:relative;overflow:hidden}canvas[data-v-086dba6f]{display:block;width:100%;height:100%;cursor:crosshair}.login-page[data-v-52b6155c]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:#f5f5f5}.login-card[data-v-52b6155c]{background:#fff;border-radius:8px;padding:2rem;width:100%;max-width:400px;box-shadow:0 2px 8px #0000001a}h1[data-v-52b6155c]{text-align:center;margin-bottom:2rem;color:#333;font-size:1.5rem}.form-group[data-v-52b6155c]{margin-bottom:1.5rem}label[data-v-52b6155c]{display:block;margin-bottom:.5rem;color:#555;font-size:.9rem}input[data-v-52b6155c]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;box-sizing:border-box}input[data-v-52b6155c]:focus{outline:none;border-color:#007bff}.btn[data-v-52b6155c]{width:100%;padding:.75rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:all .2s}.btn-primary[data-v-52b6155c]{background-color:#007bff;color:#fff;margin-bottom:1rem}.btn-primary[data-v-52b6155c]:hover:not(:disabled){background-color:#0056b3}.btn-primary[data-v-52b6155c]:disabled{background-color:#ccc;cursor:not-allowed}.btn-link[data-v-52b6155c]{background:none;color:#007bff;text-decoration:underline;padding:.5rem}.btn-link[data-v-52b6155c]:hover{color:#0056b3}.error-message[data-v-52b6155c]{padding:.75rem;background:#fee;color:#c33;border-radius:4px;margin-bottom:1rem;text-align:center;font-size:.9rem}.account-page[data-v-bb6631e5]{min-height:100vh;padding:2rem 1rem;background:#f5f5f5}.account-card[data-v-bb6631e5]{max-width:800px;margin:0 auto;background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}h1[data-v-bb6631e5]{color:#333;margin-bottom:1.5rem;font-size:1.8rem}h2[data-v-bb6631e5]{color:#333;margin-bottom:1rem;font-size:1.3rem;border-bottom:2px solid #007bff;padding-bottom:.5rem}h3[data-v-bb6631e5]{color:#007bff;margin-bottom:1rem;font-size:1.1rem}h4[data-v-bb6631e5]{color:#555;margin-bottom:.5rem;font-size:1rem}.success-message[data-v-bb6631e5]{padding:1rem;background:#d4edda;color:#155724;border-radius:4px;margin-bottom:1.5rem;text-align:center;font-size:1rem}.user-info[data-v-bb6631e5]{background:#f8f9fa;padding:1.5rem;border-radius:4px;margin-bottom:2rem}.info-item[data-v-bb6631e5]{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #e9ecef}.info-item[data-v-bb6631e5]:last-child{border-bottom:none}.info-item strong[data-v-bb6631e5]{color:#666}.role-admin[data-v-bb6631e5]{color:#dc3545;font-weight:600}.role-user[data-v-bb6631e5]{color:#28a745;font-weight:600}.admin-section[data-v-bb6631e5]{background:#f0f8ff;padding:1.5rem;border-radius:4px;margin-bottom:2rem;border:2px solid #007bff}.admin-section p[data-v-bb6631e5]{color:#666;margin-bottom:1rem}.admin-data[data-v-bb6631e5]{margin-top:1.5rem;padding:1.5rem;background:#fff;border-radius:4px}.data-grid[data-v-bb6631e5]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.data-item[data-v-bb6631e5]{padding:1rem;background:#f8f9fa;border-radius:4px;display:flex;flex-direction:column;gap:.5rem}.data-item strong[data-v-bb6631e5]{color:#666;font-size:.9rem}.data-item span[data-v-bb6631e5]{color:#333;font-size:1.2rem;font-weight:600}.status-ok[data-v-bb6631e5]{color:#28a745!important}.admin-info[data-v-bb6631e5]{padding:1rem;background:#fff3cd;border-radius:4px;border-left:4px solid #ffc107}.admin-info p[data-v-bb6631e5]{margin:0;color:#856404}.btn[data-v-bb6631e5]{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:all .2s}.btn-primary[data-v-bb6631e5]{background-color:#007bff;color:#fff;width:100%;margin-bottom:1rem}.btn-primary[data-v-bb6631e5]:hover:not(:disabled){background-color:#0056b3}.btn-primary[data-v-bb6631e5]:disabled{background-color:#ccc;cursor:not-allowed}.btn-logout[data-v-bb6631e5]{background-color:#dc3545;color:#fff;width:100%}.btn-logout[data-v-bb6631e5]:hover{background-color:#c82333}.error-message[data-v-bb6631e5]{padding:.75rem;background:#fee;color:#c33;border-radius:4px;margin-top:1rem;text-align:center;font-size:.9rem}
