:root{--bg: #1e1e1e;--bg-panel: #252526;--bg-hover: #2a2d2e;--bg-active: #37373d;--accent: #0078d4;--accent-hover: #1a8cff;--text: #cccccc;--text-bright: #ffffff;--text-dim: #858585;--border: #3c3c3c;--green: #4ec9b0;--red: #f44747}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:13px;color:var(--text);background:var(--bg);overflow:hidden}#app{display:flex;flex-direction:column;height:100vh}#page-title{font-size:28px;font-weight:700;color:var(--text-bright);padding:16px 16px 20px;background:var(--bg-panel);border-bottom:1px solid var(--border);text-align:center;flex-shrink:0}#toolbar{display:flex;align-items:center;gap:16px;padding:8px 16px;background:var(--bg-panel);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0}.tool-group{display:flex;align-items:center;gap:6px}.tool-group label{color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.tool-group input[type=number]{width:72px;padding:4px 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text-bright);font-size:13px;outline:none}.tool-group input[type=number]:focus{border-color:var(--accent)}.tool-group input[type=number]:disabled{opacity:.4;cursor:not-allowed}.unit{color:var(--text-dim);font-size:12px}.bg-buttons,.mark-buttons{display:flex;gap:4px}.bg-btn,.mark-btn{width:22px;height:22px;border:2px solid var(--border);border-radius:4px;cursor:pointer;transition:border-color .15s}.bg-btn:hover,.mark-btn:hover{border-color:var(--text)}.bg-btn.active,.mark-btn.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.toggle-btn{padding:3px 10px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text-dim);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;width:40px;text-align:center;box-sizing:border-box}.toggle-btn:hover{border-color:var(--text)}.toggle-btn.active{background:var(--green);border-color:var(--green);color:#1e1e1e}.tool-actions{display:flex;gap:8px;margin-left:auto}.action-btn{padding:5px 14px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);font-size:13px;cursor:pointer;transition:all .15s;white-space:nowrap}.action-btn:hover{background:var(--bg-hover);border-color:var(--text-dim)}.action-btn.primary{background:#1a56a0;border-color:#1a56a0;color:var(--text-bright)}.action-btn.primary:hover{background:#1e6abf}.action-btn.primary:disabled{background:#1a3a5c;border-color:#1a3a5c;color:var(--text-dim);cursor:not-allowed;opacity:.6}.action-btn.primary:disabled:hover{background:#1a3a5c}.split-btn{position:relative;display:flex}.split-btn>.action-btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0;border-right:1px solid rgba(255,255,255,.2)}.export-image-btn{padding:8px 24px!important;font-size:14px!important;font-weight:600}.split-btn-arrow{border-top-left-radius:0!important;border-bottom-left-radius:0!important;padding:8px!important;font-size:11px!important}.split-btn-menu{display:none;position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 12px #0006;z-index:200;min-width:140px}.split-btn-menu.open{display:flex;flex-direction:column}.split-btn-option{padding:6px 12px;border:none;background:transparent;color:var(--text);font-size:13px;text-align:left;cursor:pointer;transition:background .1s}.split-btn-option:hover{background:var(--bg-hover)}.split-btn-option:first-child{border-radius:4px 4px 0 0}.split-btn-option:last-child{border-radius:0 0 4px 4px}#main-area{display:flex;flex:1;min-height:0}#canvas-wrapper{flex:1;display:flex;justify-content:center;align-items:center;overflow:hidden;min-height:0}#canvas-container{position:relative;border-radius:6px;box-shadow:0 4px 24px #0006;line-height:0;flex-shrink:0}#canvas-container.drag-over:after{content:"Drop images here";position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:#0078d426;border:2px dashed var(--accent);border-radius:6px;color:var(--accent);font-size:18px;font-weight:600;pointer-events:none;z-index:100}#layer-panel{background:var(--bg-panel);border-right:1px solid var(--border);padding:8px 12px 12px;flex-shrink:0;width:340px;min-width:150px;overflow:hidden;display:flex;flex-direction:column;position:relative}#layer-panel-handle{position:absolute;top:0;right:0;width:5px;height:100%;cursor:col-resize;z-index:10}#layer-panel-handle:hover,#layer-panel-handle.active{background:var(--accent)}#layer-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px}#layer-panel h3{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin-bottom:6px;text-align:center}#layer-panel .action-btn{padding:8px 14px;font-size:14px}.add-buttons{display:flex;gap:6px;margin-bottom:6px;flex-shrink:0}.add-buttons .action-btn{flex:1;text-align:center}.green-btn{background:var(--green)!important;border-color:var(--green)!important;color:#1e1e1e!important;font-weight:600}.green-btn:hover{background:#5ddcbf!important;border-color:#5ddcbf!important}.danger-btn{width:100%;margin-top:8px;flex-shrink:0;background:var(--red);border-color:var(--red);color:var(--text-bright)}.danger-btn:hover{background:#d63030!important;border-color:#d63030!important}.danger-btn:disabled{opacity:.35;cursor:not-allowed}.danger-btn:disabled:hover{background:var(--red)!important;border-color:var(--red)!important}#sidebar-footer{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:8px;flex-shrink:0;font-size:10px;color:var(--text-dim);opacity:.6}.project-buttons{display:flex;gap:6px;margin-top:auto;margin-bottom:6px;flex-shrink:0}.btn-icon{width:16px;height:16px;vertical-align:-3px}.violet-btn{flex:1;text-align:center;background:#5b21b6!important;border-color:#5b21b6!important;color:var(--text-bright)!important;font-weight:600}.violet-btn:hover{background:#6d28d9!important;border-color:#6d28d9!important}.violet-btn:disabled{opacity:.4;cursor:not-allowed}.violet-btn:disabled:hover{background:#5b21b6!important;border-color:#5b21b6!important}#layer-empty{color:var(--text-dim);font-style:italic;padding:8px 0;text-align:center}.layer-row{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s}.layer-row:hover{background:var(--bg-hover)}.layer-row.selected{background:var(--bg-active)}.layer-row.dragging{opacity:.4}.layer-row.drag-over-above{box-shadow:inset 0 2px 0 var(--accent)}.layer-row.drag-over-below{box-shadow:inset 0 -2px 0 var(--accent)}.vis-btn,.del-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--text);cursor:pointer;flex-shrink:0;transition:all .1s}.vis-btn:hover{background:var(--bg-active)}.vis-btn.hidden{color:var(--text-dim);opacity:.5}.del-btn:hover{background:#f4474733;color:var(--red)}.lock-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--text-dim);cursor:pointer;flex-shrink:0;transition:all .1s;opacity:.4}.lock-btn:hover{background:var(--bg-active);opacity:1}.lock-btn.locked{color:var(--accent);opacity:1}.vis-btn svg,.del-btn svg,.lock-btn svg{width:14px;height:14px}.layer-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;cursor:default;border-radius:3px;padding:1px 4px}.layer-name[contenteditable=true],.group-name[contenteditable=true]{cursor:text}.layer-name[contenteditable=true]{background:var(--bg);outline:1px solid var(--accent);text-overflow:clip}.group-header{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;background:#0078d426;border:1px solid rgba(0,120,212,.3);margin-top:4px}.group-header:first-child{margin-top:0}.group-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;color:var(--text-bright);cursor:default;border-radius:3px;padding:1px 4px}.group-name[contenteditable=true]{background:var(--bg);outline:1px solid var(--accent);text-overflow:clip}.group-header.dragging{opacity:.4}.group-header.drag-over-group{background:#0078d433;box-shadow:inset 0 0 0 1px var(--accent)}.group-header.drag-over-above{box-shadow:inset 0 2px 0 var(--accent)}.group-header.drag-over-below{box-shadow:inset 0 -2px 0 var(--accent)}.layer-row.grouped{padding-left:24px}.ungroup-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--text-dim);cursor:pointer;flex-shrink:0;transition:all .1s}.ungroup-btn:hover{background:var(--bg-active);color:var(--text)}.ungroup-btn svg{width:14px;height:14px}.canvas-container{border-radius:6px}
