/* === BASE (unchanged) === */
#ui-controls {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #2b2b2b;
    backdrop-filter: blur(10px);
    border-radius: 16px;
    padding: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    z-index: 50;
    /* Responsive adjustments */
    flex-wrap: wrap;
    justify-content: center;
    max-width: 95vw;
    box-sizing: border-box;
}

#ui-controls .slider-container {
    flex-wrap: nowrap;
}

#repick-emoji-btn, #download-btn, #upload-btn, #undo-btn, #redo-btn, #multiplayer-btn, #layers-btn, #share-painting-btn, #clear-canvas-btn {
    font-size: 28px;
    cursor: pointer;
    border: none;
    background-color: #2b2b2b;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    transition: transform 0.2s, background-color 0.2s, color 0.2s;
    flex-shrink: 0; /* Prevent button from shrinking */
}

#undo-btn, #redo-btn {
    font-size: 24px;
}

#undo-btn:disabled, #redo-btn:disabled {
    cursor: not-allowed;
    background-color: #f0f0f0;
    color: #aaa;
    transform: none;
}

#clear-canvas-btn:disabled {
    cursor: not-allowed;
    background-color: #f0f0f0;
    color: #aaa;
    transform: none;
}

#repick-emoji-btn:hover, #download-btn:hover, #upload-btn:hover, #undo-btn:not(:disabled):hover, #redo-btn:not(:disabled):hover, #multiplayer-btn:hover, #layers-btn:hover, #share-painting-btn:hover, #clear-canvas-btn:hover {
    transform: scale(1.1);
}

.slider-container {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 1;
    min-width: 0;
}

.slider-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1 1 120px;
    min-width: 60px;
}

.slider-group label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: rgba(255,255,255,.7);
}

.emoji-size-label {
    min-width: 1.6em;
    text-align: center;
    pointer-events: none;
}

#cursor-emoji-preview {
    position: fixed;
    pointer-events: none;
    transform: translate(-50%, -50%);
    z-index: 55;
    font-size: 24px;
    transition: font-size 0.1s linear;
    display: none;
    text-shadow: 0 0 10px rgba(0,0,0,0.35);
}

#size-slider {
    cursor: pointer;
    width: 100%;
    min-width: 0;
}

#brush-mode-toggle {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.2);
    background: rgba(0,0,0,0.25);
    font-size: 26px;
    cursor: pointer;
    transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
    color: #fff;
    flex: 0 0 auto;
}

#brush-mode-toggle:hover {
    transform: scale(1.05);
    background: rgba(0,0,0,0.4);
}

#brush-mode-toggle[data-mode="line"] {
    border-color: rgba(173,216,230,0.6);
    background: rgba(135,206,250,0.18);
}

#opacity-toggle {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.2);
    background: rgba(0,0,0,0.25);
    font-size: 28px;
    cursor: pointer;
    transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
    color: #fff;
    flex: 0 0 auto;
}

#opacity-toggle:hover {
    transform: scale(1.05);
    background: rgba(0,0,0,0.4);
}

#opacity-toggle[data-transparent="true"] {
    border-color: rgba(255,200,0,0.45);
    background: rgba(255,215,0,0.18);
}
