* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Segoe UI', system-ui, sans-serif; background: #121212; color: #e0e0e0; height: 100vh; overflow: hidden; }

.editor-layout {
    display: grid;
    grid-template-columns: 280px 1fr 240px;
    grid-template-rows: 60px 1fr;
    height: 100vh;
}

/* Top Bar */
.top-bar {
    grid-column: 1 / -1;
    background: #1e1e1e;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    border-bottom: 1px solid #333;
}
.top-bar .branding { font-weight: bold; font-size: 1.2rem; }

/* Buttons & Utilities */
.btn {
    background: #333; color: white; border: none; padding: 8px 16px; border-radius: 4px; cursor: pointer; font-size: 0.9rem; margin-left: 8px; transition: background 0.2s;
}
.btn:hover:not(:disabled) { background: #444; }
.btn.primary { background: #007bff; }
.btn.primary:hover { background: #0056b3; }
.btn:disabled { opacity: 0.5; cursor: not-allowed; }

.w-100 { width: 100%; margin-left: 0; }
.mb-20 { margin-bottom: 20px; }

/* Tool Active State */
.tool-btn.active { background: #007bff; color: white; border-color: #0056b3; }

/* Sidebars */
.tool-panel, .layer-panel { background: #181818; padding: 20px; border-right: 1px solid #333; overflow-y: auto; }
.layer-panel { border-right: none; border-left: 1px solid #333; }
h3 { font-size: 0.9rem; text-transform: uppercase; letter-spacing: 1px; color: #888; margin-bottom: 15px; }

/* Sliders */
.slider-group { margin-bottom: 20px; }
.slider-group label { display: block; font-size: 0.85rem; margin-bottom: 5px; }
input[type=range] { width: 100%; cursor: pointer; }

/* Layer List */
#layerList { list-style: none; }
#layerList li { background: #2a2a2a; padding: 10px; border-radius: 4px; font-size: 0.9rem; margin-bottom: 5px; }
#layerList li.empty-state { background: transparent; color: #666; font-style: italic; }

/* Workspace */
.workspace {
    background: #0a0a0a;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
}
.canvas-container { box-shadow: 0 10px 30px rgba(0,0,0,0.5); }