:root{--spark-orange: #E75837;--spark-orange-dark: #C94A2E;--bg-primary: #1a1a1a;--bg-secondary: #242424;--bg-panel: #242424;--bg-input: #2a2a2a;--border-color: #333333;--text-primary: #fafafa;--text-secondary: #a0a0a0;--text-muted: #6a6a6a;--sidebar-width: 200px;--sidebar-collapsed-width: 48px;--tool-strip-width: 96px;--header-height: 48px;--status-bar-height: 24px;--right-sidebar-width: 220px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);overflow:hidden;height:100vh;width:100vw}#app{height:100vh;width:100vw}.editor-layout{display:grid;width:100vw;height:100vh;grid-template-rows:var(--header-height) 1fr var(--status-bar-height);grid-template-columns:var(--sidebar-width) var(--tool-strip-width) 1fr var(--right-sidebar-width);grid-template-areas:"header  header  header  header" "sidebar tools   canvas  right" "status  status  status  status";transition:grid-template-columns .15s ease}.editor-layout.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed-width) var(--tool-strip-width) 1fr var(--right-sidebar-width)}.header-bar{grid-area:header}.left-sidebar{grid-area:sidebar}.tool-strip{grid-area:tools}.center-area{grid-area:canvas}.right-sidebar{grid-area:right}.status-bar{grid-area:status}.header-bar{display:flex;align-items:center;padding:0 16px;gap:16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.header-logo{font-weight:700;font-size:18px;color:var(--spark-orange);letter-spacing:.05em;white-space:nowrap;text-transform:lowercase}.tool-options{flex:1;display:flex;align-items:center;gap:16px;padding:0 8px}.tool-option-group{display:flex;align-items:center;gap:6px}.tool-option-label{font-size:11px;color:var(--text-secondary);white-space:nowrap}.tool-option-input{width:48px;background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);padding:3px 6px;font-size:12px;border-radius:3px;text-align:center}.tool-option-slider{width:80px;accent-color:var(--spark-orange)}.tool-option-toggle{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);padding:4px 10px;font-size:11px;cursor:pointer;border-radius:3px;transition:background .15s}.tool-option-toggle:hover{background:var(--border-color);color:var(--text-primary)}.tool-option-toggle.active{background:var(--spark-orange);color:#fff;border-color:var(--spark-orange-dark)}.header-separator{width:1px;height:24px;background:var(--border-color)}.header-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.header-btn{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);padding:4px 8px;font-size:12px;cursor:pointer;border-radius:3px;transition:background .15s}.header-btn:hover:not(:disabled){background:var(--border-color);color:var(--text-primary)}.header-btn:disabled{opacity:.3;cursor:default}.project-name{font-size:12px;color:var(--text-muted);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.left-sidebar{background:var(--bg-panel);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.sidebar-toggle{display:flex;align-items:center;padding:8px;border-bottom:1px solid var(--border-color);min-height:40px}.sidebar-toggle-btn{width:32px;height:32px;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s}.sidebar-toggle-btn:hover{background:var(--bg-input);color:var(--text-primary)}.sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden}.editor-layout.sidebar-collapsed .sidebar-content,.editor-layout.sidebar-collapsed .sidebar-footer{display:none}.sidebar-section{border-bottom:1px solid var(--border-color)}.sidebar-section-header{display:flex;align-items:center;padding:8px 12px;cursor:pointer;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);-webkit-user-select:none;user-select:none;gap:6px}.sidebar-section-header:hover{background:#ffffff08}.sidebar-section-chevron{font-size:10px;transition:transform .15s ease}.sidebar-section.collapsed .sidebar-section-chevron{transform:rotate(-90deg)}.sidebar-section-body{padding:4px 0}.sidebar-section.collapsed .sidebar-section-body{display:none}.sidebar-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 12px;background:none;border:none;color:var(--text-primary);font-size:13px;cursor:pointer;text-align:left;transition:background .15s}.sidebar-item:hover:not(:disabled){background:#ffffff0d}.sidebar-item:disabled{opacity:.4;cursor:default}.sidebar-item .pro-badge{margin-left:auto;background:#ffa64a;color:#1a1a1a;font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px}.sidebar-footer{margin-top:auto;padding:12px;text-align:center;border-top:1px solid var(--border-color)}.sidebar-footer a{opacity:.4;transition:opacity .15s ease;color:var(--text-muted);text-decoration:none;font-size:11px;letter-spacing:.05em}.sidebar-footer a:hover{opacity:.8}.sidebar-feedback-link{display:block;margin-bottom:8px;opacity:.6;font-size:11px}.sidebar-feedback-link:hover{opacity:1}.sidebar-auth{padding:12px;border-bottom:1px solid var(--border-color);background:#0003}.sidebar-auth-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:8px 12px;background:linear-gradient(135deg,#4a9eff,#6366f1);border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .15s}.sidebar-auth-btn svg{width:14px;height:14px}.sidebar-auth-btn:hover{opacity:.9}.sidebar-auth-link{display:block;margin-top:8px;font-size:11px;color:var(--text-secondary);text-align:center;text-decoration:none;transition:color .15s;cursor:pointer}.sidebar-auth-link:hover{color:#4a9eff}.sidebar-user{padding:12px;border-bottom:1px solid var(--border-color);background:#0003}.sidebar-user-info{display:flex;align-items:center;gap:10px;margin-bottom:10px}.sidebar-user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#4a9eff,#6366f1);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff;flex-shrink:0}.sidebar-user-details{display:flex;flex-direction:column;gap:2px;min-width:0}.sidebar-user-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-username{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-tier{font-size:9px;font-weight:600;padding:2px 6px;border-radius:3px;width:fit-content}.sidebar-user-tier.tier-pro{background:linear-gradient(135deg,#ffa64a,#ff8c00);color:#1a1a1a}.sidebar-user-tier.tier-free{background:#ffffff26;color:var(--text-secondary)}.sidebar-user-actions{display:flex;gap:4px}.sidebar-user-action{flex:1;display:flex;align-items:center;justify-content:center;padding:6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.sidebar-user-action:hover{background:#ffffff1a;color:var(--text-primary)}.sidebar-user-action svg{width:14px;height:14px}.sidebar-user-action-danger:hover{background:#ef444433;color:#ef4444;border-color:#ef44444d}.editor-layout.sidebar-collapsed .sidebar-user,.editor-layout.sidebar-collapsed .sidebar-auth{display:none}.tool-strip{position:relative;display:flex;flex-direction:column;align-items:stretch;background:var(--bg-panel);border-right:1px solid var(--border-color);padding:4px 0;overflow:hidden}.tool-strip-resize-handle{position:absolute;top:0;right:-2px;width:5px;height:100%;cursor:col-resize;z-index:10}.tool-strip-resize-handle:hover,.tool-strip-resize-handle.dragging{background:var(--spark-orange);opacity:.4}.tool-icons{display:flex;flex-wrap:wrap;align-content:flex-start;gap:2px;padding:4px}.tool-icon-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;color:var(--text-secondary);cursor:pointer;border-radius:4px;font-size:13px;font-weight:600;transition:background .15s}.tool-icon-btn:hover{background:var(--bg-input);color:var(--text-primary)}.tool-icon-btn.active{background:var(--spark-orange);color:#fff;border-color:var(--spark-orange-dark)}.tool-action-btn{width:100%;display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);font-size:11px;text-align:left;cursor:pointer;border-radius:3px;transition:background .15s,color .15s}.tool-action-btn:hover:not(:disabled){background:var(--border-color);color:var(--text-primary)}.tool-action-btn:disabled{opacity:.35;cursor:default}.tool-strip-divider{width:100%;height:1px;background:var(--border-color);margin:6px 0;padding:0 4px;box-sizing:border-box}.tool-strip-colors{display:flex;flex-direction:column;align-items:center;padding:8px 4px;position:relative}.tool-strip-palette{flex:1;overflow:hidden;padding:2px;min-height:0;align-self:stretch}.tool-strip-palette .palette-grid{gap:1px;padding:2px}.color-swatch-pair{position:relative;width:36px;height:40px}.color-swatch-btn{position:absolute;width:24px;height:24px;border:2px solid var(--border-color);border-radius:3px;cursor:pointer;transition:border-color .15s}.color-swatch-btn:hover{border-color:var(--text-secondary)}.color-swatch-btn.fg{top:0;left:0;z-index:2}.color-swatch-btn.bg{bottom:0;right:0;z-index:1}.color-swap-btn{position:absolute;top:0;right:0;width:14px;height:14px;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:2px;color:var(--text-muted);font-size:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3}.color-swap-btn:hover{color:var(--text-primary);background:var(--bg-input)}.color-popover{position:fixed;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:6px;padding:12px;z-index:500;box-shadow:0 4px 16px #0006;width:220px}.color-popover-row{display:flex;gap:6px;align-items:center;margin-bottom:8px}.color-popover .color-picker-native{width:36px;height:32px;padding:0;border:none;background:none;cursor:pointer}.color-popover .hex-input{flex:1;background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);padding:4px 6px;font-family:monospace;font-size:12px;border-radius:4px}.center-area{display:flex;flex-direction:column;min-width:0;min-height:0}.tab-bar{display:flex;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);min-height:28px;overflow-x:auto;flex-shrink:0}.tab-item{display:flex;align-items:center;gap:4px;padding:4px 12px;font-size:12px;color:var(--text-secondary);cursor:pointer;border-right:1px solid var(--border-color);white-space:nowrap;-webkit-user-select:none;user-select:none}.tab-item:hover{background:var(--bg-input)}.tab-item.active{color:var(--text-primary);background:var(--bg-primary);border-bottom:2px solid var(--spark-orange)}.tab-close{font-size:14px;line-height:1;opacity:.5;cursor:pointer}.tab-close:hover{opacity:1}.tab-icon{flex-shrink:0}.tab-item[data-tab-type=sprite] .tab-icon{color:#5b9bd5}.tab-item[data-tab-type=tileset] .tab-icon,.tab-item[data-tab-type=tile-isolation] .tab-icon{color:#6bcb77}.tab-item[data-tab-type=map] .tab-icon{color:#b07cdb}.tab-item.active[data-tab-type=sprite]{border-bottom-color:#5b9bd5}.tab-item.active[data-tab-type=tileset],.tab-item.active[data-tab-type=tile-isolation]{border-bottom-color:#6bcb77}.tab-item.active[data-tab-type=map]{border-bottom-color:#b07cdb}.viewport{flex:1;position:relative;overflow:hidden;background:var(--bg-primary)}.viewport canvas:not(.preview-canvas){position:absolute;top:0;left:0;width:100%;height:100%}#overlay-canvas{pointer-events:none}.right-sidebar{background:var(--bg-panel);border-left:1px solid var(--border-color);display:flex;flex-direction:column}.right-sidebar .asset-section{flex:1;display:flex;flex-direction:column;min-height:120px;border-bottom:1px solid var(--border-color)}.right-sidebar .layer-section{flex:1;display:flex;flex-direction:column;min-height:120px}#tileset-minimap-container{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;align-self:stretch;padding:2px}#palette-grid-container{flex:1;overflow:hidden;min-height:0;align-self:stretch}.layer-tileset-select{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);font-size:10px;padding:1px 2px;border-radius:2px;max-width:60px}.status-bar{background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;align-items:center;padding:0 12px;font-size:11px;color:var(--text-muted);gap:16px}.panel-header{padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.layer-list{flex:1;overflow-y:auto}.layer-row{display:flex;align-items:center;padding:4px 8px;gap:6px;cursor:pointer;font-size:12px;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.layer-row:hover{background:var(--bg-input)}.layer-row.active{background:var(--bg-input);color:var(--text-primary)}.layer-row .visibility-toggle{width:20px;text-align:center;cursor:pointer;opacity:.6}.layer-row .visibility-toggle:hover{opacity:1}.layer-actions{display:flex;gap:2px;padding:4px 8px;border-top:1px solid var(--border-color)}.layer-actions button{flex:1;background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);padding:4px;font-size:10px;cursor:pointer;border-radius:3px}.layer-actions button:hover{background:var(--border-color);color:var(--text-primary)}.palette-grid{display:flex;flex-wrap:wrap;gap:4px;padding:4px}.palette-swatch{width:32px;height:32px;border:1px solid var(--border-color);border-radius:2px;cursor:pointer}.palette-swatch:hover{border-color:var(--text-secondary)}.palette-swatch.active{border-color:#fff;box-shadow:0 0 0 1px #fff}.palette-controls{display:flex;gap:2px;padding:4px 8px;flex-wrap:wrap}.palette-controls button{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);padding:3px 6px;font-size:10px;cursor:pointer;border-radius:3px}.palette-controls button:hover{background:var(--border-color);color:var(--text-primary)}.palette-controls button.active{background:var(--spark-orange);color:#fff}.asset-item{display:flex;align-items:center;padding:6px 12px;gap:8px;cursor:pointer;font-size:12px;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.asset-item:hover{background:var(--bg-input)}.asset-item.active{background:var(--bg-input);color:var(--text-primary)}.asset-item .asset-dims{font-size:10px;color:var(--text-muted);margin-left:auto}.asset-actions{display:flex;gap:2px;padding:4px 8px;border-top:1px solid var(--border-color)}.asset-actions button{flex:1;background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);padding:4px;font-size:10px;cursor:pointer;border-radius:3px}.asset-actions button:hover{background:var(--border-color);color:var(--text-primary)}.asset-actions button:disabled{opacity:.3;cursor:default}.asset-actions button:disabled:hover{background:transparent;color:var(--text-secondary)}.sidebar-section-header button:disabled{opacity:.3;cursor:default}.getting-started-card.disabled{opacity:.4;cursor:default;pointer-events:none}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;padding:24px;min-width:320px;max-width:400px}.modal-content h2{font-size:16px;margin-bottom:16px;color:var(--text-primary)}.modal-field{margin-bottom:12px}.modal-field label{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:4px}.modal-field input{width:100%;background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 10px;font-size:13px;border-radius:4px}.preset-buttons{display:flex;gap:4px;margin-bottom:16px}.preset-buttons button{flex:1;background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);padding:6px;font-size:11px;cursor:pointer;border-radius:4px}.preset-buttons button:hover{background:var(--border-color);color:var(--text-primary)}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.modal-actions button{padding:8px 16px;border-radius:4px;font-size:13px;cursor:pointer;border:1px solid var(--border-color)}.modal-actions .btn-primary{background:var(--spark-orange);color:#fff;border-color:var(--spark-orange-dark)}.modal-actions .btn-secondary{background:var(--bg-input);color:var(--text-secondary)}.modal-field select{width:100%;background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 10px;font-size:13px;border-radius:4px}.import-modal{min-width:340px;max-width:420px}.import-preview{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;margin-bottom:12px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:4px;background-image:linear-gradient(45deg,#2a2a3e 25%,transparent 25%),linear-gradient(-45deg,#2a2a3e 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#2a2a3e 75%),linear-gradient(-45deg,transparent 75%,#2a2a3e 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0}.import-preview canvas{image-rendering:pixelated;max-width:200px;max-height:200px}.import-dims{font-size:11px;color:var(--text-secondary);background:var(--bg-panel);padding:2px 8px;border-radius:3px}.import-type-toggle{display:flex;gap:4px}.import-type-btn{flex:1;padding:6px 12px;background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);font-size:13px;cursor:pointer;border-radius:4px;transition:background .15s ease,color .15s ease}.import-type-btn:hover{color:var(--text-primary)}.import-type-btn.active{background:var(--spark-orange);border-color:var(--spark-orange-dark);color:#fff}.import-type-btn:disabled{opacity:.4;cursor:default}.import-type-btn:disabled:hover{color:var(--text-secondary)}.import-tileset-options{margin-top:4px}.import-grid-info{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.import-warning{font-size:11px;color:#e0a030;background:#e0a0301a;padding:6px 10px;border-radius:4px;margin-top:4px}.context-menu{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:4px;padding:4px 0;min-width:160px;box-shadow:0 4px 12px #0006}.context-menu-item{display:block;width:100%;padding:6px 12px;background:none;border:none;color:var(--text-primary);text-align:left;cursor:pointer;font-size:12px}.context-menu-item:hover{background:var(--border-color)}.context-menu-item.danger{color:#e05555}.context-menu-item.danger:hover{background:#3a2020}.context-menu-item.disabled{color:var(--text-muted, #666);cursor:default}.context-menu-item.disabled:hover{background:none}.context-menu-separator{height:1px;background:var(--border-color);margin:4px 0}.anchor-grid{display:grid;grid-template-columns:repeat(3,28px);grid-template-rows:repeat(3,28px);gap:2px;margin-bottom:16px;justify-content:center}.anchor-cell{width:28px;height:28px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:3px;cursor:pointer}.anchor-cell:hover{background:var(--border-color)}.anchor-cell.active{background:var(--spark-orange);border-color:var(--spark-orange-dark)}.sym-dropdown{position:absolute;top:100%;left:0;background:var(--panel-bg, #1e1e2e);border:1px solid var(--border-color, #333);border-radius:4px;padding:4px 0;z-index:100;min-width:140px}.sym-dropdown-item{display:block;width:100%;padding:4px 12px;background:none;border:none;color:var(--text-color, #cdd6f4);text-align:left;cursor:pointer;font-size:12px}.sym-dropdown-item:hover{background:var(--hover-bg, #313244)}.sym-dropdown-item.active{background:var(--active-bg, #45475a)}.sym-radial-group{display:flex;align-items:center;gap:6px;padding:4px 12px}.getting-started-overlay{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-primary);z-index:10;gap:24px}.getting-started-overlay.visible{display:flex}.getting-started-title{font-size:28px;font-weight:700;color:var(--spark-orange);letter-spacing:.05em;text-transform:lowercase}.getting-started-subtitle{font-size:14px;color:var(--text-secondary);margin-top:-8px}.getting-started-actions{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.getting-started-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 32px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:border-color .15s;min-width:140px}.getting-started-card:hover{border-color:var(--spark-orange)}.getting-started-card-title{font-size:14px;font-weight:600;color:var(--text-primary)}.getting-started-card-desc{font-size:12px;color:var(--text-secondary);text-align:center;max-width:160px}.getting-started-import{margin-top:8px;background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);padding:8px 20px;font-size:13px;cursor:pointer;border-radius:4px;transition:background .15s,color .15s}.getting-started-import:hover{background:var(--border-color);color:var(--text-primary)}.grid-settings-row{display:flex;align-items:center;gap:6px;padding:4px 12px}.preview-panel{position:absolute;display:flex;flex-direction:column;width:176px;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 16px #0006;z-index:50;overflow:hidden;-webkit-user-select:none;user-select:none}.preview-title-bar{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);cursor:grab;min-height:24px}.preview-title-bar:active{cursor:grabbing}.preview-title-text{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.preview-close-btn{width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;border-radius:2px;padding:0}.preview-close-btn:hover{background:var(--border-color);color:var(--text-primary)}.preview-canvas{display:block;width:160px;height:160px;margin:8px auto;image-rendering:pixelated}.auth-modal{max-width:380px;width:90%}.auth-modal-body{padding:0}.auth-google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 16px;background:#fff;border:1px solid #ddd;border-radius:8px;color:#333;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,box-shadow .15s}.auth-google-btn:hover{background:#f8f8f8;box-shadow:0 2px 8px #0000001a}.auth-divider{display:flex;align-items:center;margin:20px 0;color:var(--text-secondary);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.auth-divider span{padding:0 12px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field label{font-size:12px;color:var(--text-secondary);font-weight:500}.auth-field input{padding:10px 12px;background:var(--bg-dark, #1a1a2e);border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--text-primary);font-size:14px;transition:border-color .15s}.auth-field input:focus{outline:none;border-color:#4a9eff}.auth-field input::placeholder{color:var(--text-secondary);opacity:.6}.auth-error{color:#ef4444;font-size:12px;min-height:16px}.auth-submit-btn{padding:12px 16px;background:linear-gradient(135deg,#4a9eff,#6366f1);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s}.auth-submit-btn:hover:not(:disabled){opacity:.9}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-switch{margin-top:16px;text-align:center;font-size:13px;color:var(--text-secondary)}.auth-switch a{color:#4a9eff;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-verify-icon{text-align:center;margin-bottom:16px;color:#4a9eff}.auth-verify-message{text-align:center;font-size:14px;color:var(--text-secondary);margin-bottom:20px;line-height:1.5}.auth-verify-message strong{color:var(--text-primary)}.auth-resend{text-align:center;font-size:12px;color:var(--text-secondary);margin-top:12px}.auth-resend a{color:#4a9eff;text-decoration:none}.auth-resend a:hover{text-decoration:underline}.pb-container{position:relative;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080}.pb-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.pb-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.pb-close{background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;padding:0;line-height:1}.pb-close:hover{color:var(--text-primary)}.pb-body{flex:1;overflow-y:auto;padding:16px}.pb-loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary)}.pb-spinner{width:24px;height:24px;border:2px solid var(--border-color);border-top-color:#4a9eff;border-radius:50%;animation:pb-spin 1s linear infinite;margin-right:12px}@keyframes pb-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pb-error{text-align:center;padding:40px;color:#ff6b6b}.pb-empty{text-align:center;padding:40px;color:var(--text-secondary)}.pb-project-list{display:flex;flex-direction:column;gap:8px}.pb-project{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;transition:border-color .2s,background .2s}.pb-project:hover{border-color:#4a9eff;background:var(--bg-input)}.pb-project-info{flex:1;min-width:0}.pb-project-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pb-project-date{font-size:12px;color:var(--text-secondary);margin-top:2px}.pb-project-actions{display:flex;gap:8px}.pb-btn{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s}.pb-btn:hover{background:#3a3a3a}.pb-btn-primary{background:#4a9eff;border-color:#4a9eff}.pb-btn-primary:hover{background:#3a8eef}.pb-btn-danger{color:#ff6b6b;border-color:#ff6b6b40}.pb-btn-danger:hover{background:#ff6b6b1f}.upgrade-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000}.upgrade-modal{background:var(--bg-secondary);border-radius:12px;box-shadow:0 8px 32px #0006;max-width:400px;width:90vw;text-align:center}.upgrade-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.upgrade-modal-header h2{margin:0;font-size:18px}.upgrade-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);padding:0 4px}.upgrade-modal-close:hover{color:var(--text-primary)}.upgrade-modal-body{padding:24px}.upgrade-icon{margin-bottom:16px;color:#ffa64a}.upgrade-modal-body h3{margin-bottom:20px;font-size:20px;color:var(--text-primary)}.upgrade-features{list-style:none;text-align:left;margin-bottom:24px}.upgrade-features li{display:flex;align-items:center;gap:10px;padding:8px 0;color:var(--text-secondary);font-size:14px}.plan-selector{display:flex;gap:12px;margin-bottom:20px}.plan-option{flex:1;padding:16px 12px;background:var(--bg-input);border:2px solid #444;border-radius:8px;cursor:pointer;text-align:center;transition:border-color .2s,background .2s;position:relative}.plan-option:hover{border-color:#666}.plan-option.selected{border-color:#4a9eff;background:#4a9eff1a}.plan-name{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.plan-price{display:block;font-size:18px;font-weight:700;color:var(--text-primary)}.plan-badge{position:absolute;top:-8px;right:-8px;background:linear-gradient(135deg,#4aff6b,#2ecc71);color:#1a1a1a;font-size:10px;font-weight:600;padding:3px 6px;border-radius:4px}.upgrade-btn{width:100%;padding:14px 24px;background:linear-gradient(135deg,#4a9eff,#6b5ce7);border:none;border-radius:8px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.upgrade-btn:hover{transform:translateY(-2px);box-shadow:0 4px 20px #4a9eff66}.upgrade-footer{margin-top:16px;font-size:12px;color:var(--text-secondary)}.beta-key-link{background:none;border:none;color:#4a9eff;cursor:pointer;text-decoration:underline;font-size:14px;padding:0;margin-top:8px}.beta-key-link:hover{opacity:.8}.beta-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10001}.beta-modal{background:var(--bg-secondary);border-radius:12px;width:90%;max-width:400px;box-shadow:0 20px 40px #0000004d}.beta-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.beta-modal-header h2{margin:0;font-size:18px}.beta-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary)}.beta-modal-close:hover{color:var(--text-primary)}.beta-modal-body{padding:20px}.beta-modal-body p{margin:0 0 12px;color:var(--text-secondary)}.beta-key-input{width:100%;padding:12px;font-size:18px;font-family:monospace;text-align:center;letter-spacing:2px;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);box-sizing:border-box}.beta-key-input:focus{outline:none;border-color:#4a9eff}.beta-modal-error{margin-top:12px;padding:8px 12px;background:#dc2626;color:#fff;border-radius:6px;font-size:14px}.beta-modal-success{margin-top:12px;padding:8px 12px;background:#16a34a;color:#fff;border-radius:6px;font-size:14px}.beta-modal-footer{display:flex;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color)}.beta-modal-cancel{flex:1;padding:10px;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-primary);cursor:pointer}.beta-modal-cancel:hover{background:var(--bg-input)}.beta-modal-activate{flex:1;padding:10px;border:none;border-radius:6px;background:#4a9eff;color:#fff;cursor:pointer;font-weight:500}.beta-modal-activate:hover{opacity:.9}.beta-modal-activate:disabled{opacity:.5;cursor:not-allowed}.palette-swatch-add{display:flex;align-items:center;justify-content:center;background:var(--bg-input);color:var(--text-muted);cursor:pointer}.palette-swatch-add:hover{background:var(--border-color);color:var(--text-primary)}.palette-swatch.editing{border-color:var(--spark-orange);box-shadow:0 0 0 2px var(--spark-orange)}.palette-inline-editor{padding:6px 4px;border-top:1px solid var(--border-color);margin-top:4px}.palette-editor-hint{font-size:10px;color:var(--text-muted);text-align:center;padding:4px}.palette-editor-row{display:flex;align-items:center;gap:4px}.palette-color-input{width:32px;height:24px;padding:0;border:1px solid var(--border-color);border-radius:3px;background:transparent;cursor:pointer}.palette-color-input::-webkit-color-swatch-wrapper{padding:2px}.palette-color-input::-webkit-color-swatch{border:none;border-radius:2px}.palette-hex-input{flex:1;min-width:0;padding:4px 6px;font-size:11px;font-family:monospace;background:var(--bg-input);border:1px solid var(--border-color);border-radius:3px;color:var(--text-primary)}.palette-hex-input:focus{outline:none;border-color:var(--spark-orange)}.palette-delete-btn{width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-color);border-radius:3px;color:var(--text-muted);cursor:pointer}.palette-delete-btn:hover{background:var(--danger-red);border-color:var(--danger-red);color:#fff}.palette-gen-modal{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 32px #00000080;width:360px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.palette-gen-modal h3{margin:0;padding:12px 16px;font-size:14px;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.palette-gen-preview{display:flex;flex-wrap:wrap;gap:4px;padding:12px 16px;max-height:200px;overflow-y:auto;border-bottom:1px solid var(--border-color)}.palette-gen-swatch{width:24px;height:24px;border:1px solid rgba(255,255,255,.2);border-radius:3px}.palette-gen-row{display:flex;align-items:center;gap:8px;padding:8px 16px}.palette-gen-row label{font-size:12px;color:var(--text-secondary);min-width:70px}.palette-gen-slider{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:var(--bg-input);border-radius:2px;cursor:pointer}.palette-gen-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:var(--spark-orange);border-radius:50%;cursor:pointer}.palette-gen-slider::-moz-range-thumb{width:14px;height:14px;background:var(--spark-orange);border:none;border-radius:50%;cursor:pointer}.palette-gen-select{flex:1;padding:6px 8px;font-size:12px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer}.palette-gen-select:focus{outline:none;border-color:var(--spark-orange)}.palette-gen-info{padding:8px 16px;font-size:11px;color:var(--text-muted);border-top:1px solid var(--border-color)}.palette-gen-count{color:var(--spark-orange);font-weight:600}.palette-gen-modal .modal-actions{display:flex;gap:8px;padding:12px 16px;justify-content:flex-end;border-top:1px solid var(--border-color)}.cp-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.cp-modal{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 32px #00000080;width:320px;overflow:hidden}.cp-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color);font-size:14px;font-weight:600;color:var(--text-primary)}.cp-close{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:0 4px;line-height:1}.cp-close:hover{color:var(--text-primary)}.cp-gradient-area{display:flex;gap:8px;padding:16px;justify-content:center}.cp-sv{border-radius:4px;cursor:crosshair;display:block}.cp-hue{border-radius:4px;cursor:pointer;display:block}.cp-preview-row{display:flex;gap:12px;padding:0 16px 12px;justify-content:center}.cp-preview-group{display:flex;flex-direction:column;align-items:center;gap:4px}.cp-preview-label{font-size:10px;color:var(--text-muted);text-transform:uppercase}.cp-preview-swatch{width:48px;height:28px;border:1px solid var(--border-color);border-radius:4px}.cp-inputs{padding:0 16px 12px}.cp-input-row{display:flex;gap:8px;margin-bottom:8px}.cp-input-group{flex:1;display:flex;align-items:center;gap:4px}.cp-input-label{font-size:11px;color:var(--text-secondary);min-width:14px}.cp-input{width:100%;background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);padding:4px 6px;font-size:12px;border-radius:3px;text-align:center}.cp-input::-webkit-inner-spin-button{-webkit-appearance:none}.cp-input{-moz-appearance:textfield}.cp-hex-row{display:flex;align-items:center;gap:8px}.cp-hex-input{flex:1;background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);padding:4px 8px;font-size:12px;font-family:monospace;border-radius:3px}.cp-actions{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border-color)}.cp-btn{padding:6px 14px;border-radius:4px;font-size:12px;cursor:pointer;border:1px solid var(--border-color)}.cp-btn-primary{background:var(--spark-orange);color:#fff;border-color:var(--spark-orange-dark)}.cp-btn-primary:hover{opacity:.9}.cp-btn-secondary{background:var(--bg-input);color:var(--text-secondary)}.cp-btn-secondary:hover{background:var(--border-color);color:var(--text-primary)}.cp-btn-danger{background:transparent;color:#e05555;border-color:#e055554d}.cp-btn-danger:hover{background:#e0555526}.status-copyright{margin-left:auto;opacity:.5}.help-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.help-modal-content{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;width:95%;max-width:720px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.help-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--border-color)}.help-modal-header h2{font-size:16px;color:var(--text-primary);margin:0}.help-modal-close{background:none;border:none;color:var(--text-muted);font-size:22px;cursor:pointer;padding:0 4px;line-height:1}.help-modal-close:hover{color:var(--text-primary)}.help-tabs{display:flex;gap:2px;padding:8px 20px 0;border-bottom:1px solid var(--border-color)}.help-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:12px;padding:8px 12px;cursor:pointer;transition:color .15s,border-color .15s}.help-tab:hover{color:var(--text-primary)}.help-tab.active{color:var(--spark-orange);border-bottom-color:var(--spark-orange)}.help-modal-body{flex:1;overflow-y:auto;padding:20px 24px}.help-page{animation:helpFadeIn .15s ease}.help-page h3{font-size:14px;color:var(--spark-orange);margin:20px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--border-color)}.help-page h3:first-child{margin-top:0}.help-page p{font-size:13px;color:var(--text-secondary);line-height:1.5;margin:0 0 8px}.help-page ul,.help-page ol{font-size:13px;color:var(--text-secondary);line-height:1.6;margin:0 0 8px;padding-left:20px}.help-page li{margin-bottom:2px}.help-page strong{color:var(--text-primary)}.help-page table{width:100%;border-collapse:collapse;margin-bottom:12px}.help-page table td{font-size:12px;color:var(--text-secondary);padding:3px 8px;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:top}.help-page table td:first-child{white-space:nowrap;width:1%}.help-page table td:nth-child(2){color:var(--text-primary);font-weight:600;white-space:nowrap;width:1%}.help-page kbd{display:inline-block;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:3px;padding:1px 5px;font-family:monospace;font-size:11px;color:var(--text-primary);line-height:1.4}@keyframes helpFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}#toast-container{position:fixed;bottom:20px;right:20px;z-index:10000;display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none}.toast{background:var(--bg-secondary);border:1px solid #444;border-left:4px solid #4a9eff;border-radius:4px;padding:12px 16px;min-width:280px;max-width:400px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 12px #0000004d;transform:translate(100%);opacity:0;transition:transform .3s ease,opacity .3s ease;pointer-events:auto}.toast-visible{transform:translate(0);opacity:1}.toast-icon{width:24px;height:24px;border-radius:50%;border:1px solid;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.toast-message{flex:1;color:var(--text-primary);font-size:13px}.toast-close{background:none;border:none;color:var(--text-secondary);font-size:18px;cursor:pointer;padding:0;line-height:1}.toast-close:hover{color:var(--text-primary)}.feedback-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.feedback-modal{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;width:95%;max-width:480px;max-height:90vh;overflow-y:auto}.feedback-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.feedback-modal-header h2{font-size:16px;margin:0}.feedback-modal-close{background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;padding:0;line-height:1}.feedback-modal-close:hover{color:var(--text-primary)}.feedback-modal-body{padding:20px}.feedback-modal-body>p{margin:0 0 16px;color:var(--text-secondary);font-size:13px}.feedback-field{margin-bottom:16px}.feedback-field label{display:block;margin-bottom:6px;font-size:13px;color:var(--text-primary)}.feedback-confirm{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}.feedback-type,.feedback-message{width:100%;padding:8px 10px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:13px;font-family:inherit}.feedback-type:focus,.feedback-message:focus{outline:none;border-color:#4a9eff}.feedback-message{resize:vertical;min-height:100px}.feedback-rating{display:flex;gap:4px}.rating-star{background:none;border:none;font-size:24px;color:var(--text-muted);cursor:pointer;padding:2px;transition:color .15s}.rating-star:hover,.rating-star.active{color:#ffa64a}.feedback-modal-error{margin-top:12px;padding:8px 12px;background:#dc2626;color:#fff;border-radius:6px;font-size:13px}.feedback-modal-success{margin-top:12px;padding:8px 12px;background:#16a34a;color:#fff;border-radius:6px;font-size:13px}.feedback-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border-color)}.feedback-modal-cancel{padding:8px 16px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:13px}.feedback-modal-cancel:hover{background:var(--border-color)}.feedback-modal-send{padding:8px 16px;background:linear-gradient(135deg,#4a9eff,#6366f1);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500}.feedback-modal-send:disabled{opacity:.5;cursor:default}.feedback-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:feedback-spin .8s linear infinite;vertical-align:middle;margin-right:6px}@keyframes feedback-spin{to{transform:rotate(360deg)}}.legal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1001}.legal-modal{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;width:95%;max-width:400px}.legal-header{padding:16px 20px;border-bottom:1px solid var(--border-color)}.legal-header h2{font-size:16px;margin:0}.legal-body{padding:20px}.legal-intro{margin:0 0 16px;font-size:13px;color:var(--text-secondary);line-height:1.5}.legal-checkbox-label{display:flex;gap:10px;align-items:flex-start;margin-bottom:16px;font-size:12px;color:var(--text-primary);cursor:pointer;line-height:1.5}.legal-checkbox-label input[type=checkbox]{margin-top:3px;flex-shrink:0}.legal-checkbox-label a{color:#4a9eff;text-decoration:underline}.legal-checkbox-label a:hover{color:#6db3ff}.legal-accept-btn{width:100%;padding:10px 16px;background:linear-gradient(135deg,#4a9eff,#6366f1);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-family:inherit}.legal-accept-btn:disabled{opacity:.5;cursor:default}.onboarding-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.onboarding-modal{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;width:95%;max-width:400px;max-height:90vh;overflow-y:auto}.onboarding-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.onboarding-header h2{font-size:16px;margin:0}.onboarding-close{background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;padding:0;line-height:1}.onboarding-close:hover{color:var(--text-primary)}.onboarding-body{padding:20px}.onboarding-group{margin-bottom:16px}.onboarding-group label{display:block;margin-bottom:6px;font-size:13px;color:var(--text-primary)}.onboarding-group .optional-label{color:var(--text-muted);font-weight:400}.onboarding-group input,.onboarding-group select,.onboarding-group textarea{width:100%;padding:8px 10px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:13px;font-family:inherit}.onboarding-group input:focus,.onboarding-group select:focus,.onboarding-group textarea:focus{outline:none;border-color:#4a9eff}.onboarding-group input[readonly]{opacity:.6;cursor:default}.onboarding-group textarea{resize:vertical;min-height:60px}.field-hint{display:block;margin-top:4px;font-size:11px;color:var(--text-muted)}.field-success{color:#4aff6b}.field-error{color:#ff4a4a}.field-warning{color:#ffa64a}.bio-counter{display:block;margin-top:4px;font-size:11px;text-align:right}.onboarding-submit{width:100%;padding:10px 16px;background:linear-gradient(135deg,#4a9eff,#6366f1);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;margin-top:8px}.onboarding-submit:disabled{opacity:.5;cursor:default}
