:root {
    --bg-main: #2b323a;
    /* Blue-gray contrast */
    --rack-bg: #39414b;
    --panel-303: linear-gradient(180deg, #dcb670 0%, #b89450 100%);
    /* Retro warm gold/yellow plastic */
    --panel-909: linear-gradient(180deg, #dcb670 0%, #b89450 100%);
    /* Unified 909 aesthetic */
    --knob-body: linear-gradient(135deg, #222 0%, #0a0a0a 100%);
    /* Unified dark plastic knob body */
    --knob-top: #333;
    --knob-indicator: #fff;
    /* White indicator on black knobs */
    --switch-bg: #222;
    --switch-handle: #ddd;
    --led-on: #ff3333;
    --led-off: #4a0000;
    --lcd-bg: #2b0000;
    --lcd-text: #ff4444;
    --btn-grey: linear-gradient(to bottom, #eee, #ccc);
    --btn-grey-active: linear-gradient(to bottom, #ccc, #eee);
    --shadow-inset: inset 1px 1px 2px rgba(0, 0, 0, 0.6), inset -1px -1px 2px rgba(255, 255, 255, 0.1);
    --shadow-out: 1px 1px 3px rgba(0, 0, 0, 0.5);

    /* New Piano Key Variables for Retro Look */
    --key-white: linear-gradient(to bottom, #fde4a9 0%, #d8bb78 100%);
    --key-white-active: linear-gradient(to bottom, #d8bb78 0%, #c4a45a 100%);
    --key-black: linear-gradient(to bottom, #333 0%, #111 100%);
    --key-black-active: linear-gradient(to bottom, #111 0%, #000 100%);
    --key-shadow: 0 4px 0 #8b7542, 0 5px 5px rgba(0, 0, 0, 0.4), inset 0 1px 1px rgba(255, 255, 255, 0.4);
    --key-shadow-active: 0 1px 0 #8b7542, 0 2px 2px rgba(0, 0, 0, 0.4), inset 0 2px 4px rgba(0, 0, 0, 0.4);
    --key-black-shadow: 0 3px 0 #000, 0 4px 4px rgba(0, 0, 0, 0.5), inset 0 1px 1px rgba(255, 255, 255, 0.1);
    --key-black-shadow-active: 0 1px 0 #000, 0 2px 2px rgba(0, 0, 0, 0.5), inset 0 2px 4px rgba(0, 0, 0, 0.6);
}

* {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

@font-face {
    font-family: 'DSEG7Classic';
    src: url('../assets/DSEG7Classic-Bold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

html {
    touch-action: manipulation;
    -webkit-text-size-adjust: 100%;
}

body {
    background-color: var(--bg-main);
    color: #222;
    font-family: 'Arial Narrow', 'Helvetica Neue', Arial, sans-serif;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0;
    padding: 20px;
    user-select: none;
    touch-action: manipulation;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
}

body.overlay-scroll-lock {
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
    overflow: hidden;
}

h1,
h2,
h3 {
    margin: 0;
    text-transform: uppercase;
    letter-spacing: -0.5px;
    font-weight: 800;
    color: #222;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
}

.hidden {
    display: none !important;
}
