* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    background: #0d0d1a;
    color: #e0e0e0;
    font-family: 'Segoe UI', system-ui, sans-serif;
    display: flex;
    justify-content: center;
    padding-top: 20px;
}

#app {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

#toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    padding: 8px 16px;
    background: #1a1a2e;
    border-radius: 6px;
    font-size: 13px;
}

#toolbar button {
    background: #2a2a4a;
    color: #e0e0e0;
    border: 1px solid #3a3a5a;
    padding: 4px 12px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 13px;
}

#toolbar button:hover {
    background: #3a3a5a;
}

#toolbar label {
    display: flex;
    align-items: center;
    gap: 4px;
}

#toolbar input[type="number"] {
    width: 48px;
    background: #2a2a4a;
    color: #e0e0e0;
    border: 1px solid #3a3a5a;
    border-radius: 3px;
    padding: 2px 4px;
    font-size: 13px;
    text-align: center;
}

#toolbar input[type="checkbox"] {
    accent-color: #6a6aff;
}

#render-status {
    color: #8888aa;
    min-width: 140px;
}

canvas {
    border: 1px solid #2a2a4a;
    border-radius: 4px;
    cursor: crosshair;
    background: #1a1a2e;
    max-width: 100%;
    height: auto;
    touch-action: none;
}

#help {
    font-size: 11px;
    color: #555;
}

@media (max-width: 840px) {
    body { padding-top: 8px; }
    #app { padding: 0 8px; }
    #toolbar {
        gap: 10px;
        padding: 8px 12px;
    }
    #toolbar button {
        padding: 8px 16px;
    }
}
