.wrapper { display: flex; flex-direction: column; height: 100%; overflow: hidden; } .toolbar { display: flex; align-items: center; gap: 10px; padding: 8px 14px; border-bottom: 1px solid var(--border); background: var(--bg-panel); flex-shrink: 0; } .methodLabel { flex: 1; font-size: 0.8125em; color: var(--accent-gold); letter-spacing: 0.04em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .toolBtn { padding: 4px 10px; background: none; border: 1px solid var(--border); color: var(--text-secondary); font-size: 0.75em; cursor: pointer; transition: border-color 0.15s, color 0.15s; } .toolBtn:hover { border-color: var(--border-accent); color: var(--accent-gold); } .canvas { flex: 1; overflow: hidden; background: var(--bg-base); cursor: grab; position: relative; } .canvas:active { cursor: grabbing; } .empty { flex: 1; display: flex; align-items: center; justify-content: center; color: var(--text-muted); font-size: 0.875em; font-style: italic; padding: 40px; text-align: center; } .errorWrapper { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 40px; } .errorTitle { font-family: 'Cinzel', serif; color: #cc6666; font-size: 1em; } .errorMsg { font-family: 'JetBrains Mono', monospace; font-size: 0.75em; color: var(--text-secondary); max-width: 500px; text-align: center; } .retryBtn { padding: 6px 16px; background: none; border: 1px solid var(--border-accent); color: var(--accent-gold); font-family: 'Cinzel', serif; font-size: 0.8125em; cursor: pointer; }