:root {
    --bg-dark: #121212;
    --sidebar-bg: #1e1e1e;
    --accent: #007bff;
    --text: #e0e0e0;
}

* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', sans-serif; }

body { display: flex; height: 100vh; background: #2c2c2c; color: var(--text); overflow: hidden; }

.sidebar {
    width: 280px;
    background: var(--sidebar-bg);
    padding: 25px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    border-right: 1px solid #333;
    z-index: 10;
}

.brand { font-weight: 800; letter-spacing: 3px; color: var(--accent); margin-bottom: 10px; }

.control-group { display: flex; flex-direction: column; gap: 8px; font-size: 0.85rem; }

input[type="range"], select { 
    width: 100%; 
    cursor: pointer; 
    padding: 5px;
    background: #333;
    color: white;
    border: 1px solid #444;
}

input[type="color"] { border: none; width: 100%; height: 35px; background: none; }

.button-stack { display: flex; flex-direction: column; gap: 10px; margin-top: auto; }

button { padding: 12px; border: none; border-radius: 6px; cursor: pointer; font-weight: 600; transition: 0.2s; }

.btn-primary { background: var(--accent); color: white; }
.btn-primary:hover { background: #0056b3; }
.btn-secondary { background: #3d3d3d; color: white; }
.btn-secondary:hover { background: #555; }

.artboard-container { flex-grow: 1; display: flex; align-items: center; justify-content: center; padding: 40px; }

canvas {
    background: white;
    box-shadow: 0 10px 40px rgba(0,0,0,0.4);
    cursor: crosshair; /* Default cursor for drawing */
}

/* New: Change cursor specifically when in selection mode via JS */
canvas.selection-mode {
    cursor: move;
}

.hotkey-tip { font-size: 0.7rem; color: #666; text-align: center; }