:root {
    --bg-app: #0f1012;
    --bg-sidebar: #1b1d21;
    --border-color: #333;
    --accent: #f59e0b; /* Orange for UI tool */
    --input-bg: #25282e;
}

body {
    background-color: var(--bg-app);
    color: #e0e0e0;
    font-family: 'Inter', sans-serif;
    height: 100vh;
    overflow: hidden;
}

.bg-sidebar { background-color: var(--bg-sidebar); }
.bg-dark-soft { background-color: #151515; }

/* Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-thumb { background: #444; border-radius: 3px; }

/* Custom Inputs */
.form-control-dark, .form-select-dark {
    background-color: var(--input-bg);
    border: 1px solid var(--border-color);
    color: #fff;
    font-size: 0.9rem;
}
.form-control-dark:focus, .form-select-dark:focus {
    background-color: #2a2e35;
    border-color: var(--accent);
    box-shadow: none;
    color: #fff;
}

/* Range Slider */
input[type=range] {
    accent-color: var(--accent);
}

/* Canvas Area */
.bg-app {
    /* Chess Pattern for transparency */
    background-color: #111;
    background-image: 
        linear-gradient(45deg, #1a1a1a 25%, transparent 25%), 
        linear-gradient(-45deg, #1a1a1a 25%, transparent 25%), 
        linear-gradient(45deg, transparent 75%, #1a1a1a 75%), 
        linear-gradient(-45deg, transparent 75%, #1a1a1a 75%);
    background-size: 20px 20px;
}

.canvas-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    border-radius: 8px;
    /* Optional glow behind canvas to see boundaries clearly */
    /* border: 1px dashed rgba(255,255,255,0.1); */
}

canvas {
    cursor: pointer;
    transition: transform 0.2s;
}
canvas:active {
    transform: scale(0.98);
}