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

        body {
            background: #8BAC0F;
            font-family: 'Courier New', monospace;
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100vh;
            color: #0F380F;
        }

        .game-container {
            text-align: center;
            background: #9BBD0F;
            border-radius: 15px;
            padding: 30px;
            box-shadow: 
                inset 0 0 0 8px #8BAC0F,
                inset 0 0 0 12px #306230,
                0 0 0 4px #0F380F,
                8px 8px 16px rgba(15, 56, 15, 0.4);
            border: 4px solid #0F380F;
        }

        h1 {
            font-size: 2.5rem;
            margin-bottom: 20px;
            color: #0F380F;
            text-shadow: 2px 2px 0px #8BAC0F;
            font-weight: bold;
            letter-spacing: 2px;
        }

        .game-info {
            display: flex;
            justify-content: space-between;
            margin-bottom: 20px;
            font-size: 1.2rem;
            font-weight: bold;
        }

        .score, .high-score {
            background: #306230;
            color: #9BBD0F;
            padding: 10px 20px;
            border-radius: 8px;
            border: 2px solid #0F380F;
            box-shadow: inset 2px 2px 4px #0F380F;
        }

        #gameCanvas {
            border: 4px solid #0F380F;
            border-radius: 8px;
            background: #306230;
            box-shadow: 
                inset 4px 4px 8px #0F380F,
                inset -2px -2px 4px #8BAC0F;
        }

        .controls {
            margin-top: 20px;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 10px;
            max-width: 200px;
            margin: 20px auto;
        }

        .control-btn {
            background: #8BAC0F;
            border: 3px solid #0F380F;
            color: #0F380F;
            font-size: 1.5rem;
            font-weight: bold;
            padding: 15px;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.1s ease;
            box-shadow: 3px 3px 0px #306230;
            font-family: 'Courier New', monospace;
        }

        .control-btn:hover {
            background: #9BBD0F;
            transform: translate(1px, 1px);
            box-shadow: 2px 2px 0px #306230;
        }

        .control-btn:active {
            transform: translate(3px, 3px);
            box-shadow: none;
        }

        .empty { grid-column: 1; }
        .up { grid-column: 2; }
        .left { grid-column: 1; grid-row: 2; }
        .down { grid-column: 2; grid-row: 2; }
        .right { grid-column: 3; grid-row: 2; }

        .game-over, .start-screen {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background: #9BBD0F;
            color: #0F380F;
            padding: 40px;
            border-radius: 8px;
            text-align: center;
            border: 4px solid #0F380F;
            box-shadow: 8px 8px 0px #306230;
        }

        .start-btn, .restart-btn {
            background: #8BAC0F;
            color: #0F380F;
            border: 3px solid #0F380F;
            padding: 15px 30px;
            border-radius: 8px;
            font-size: 1.1rem;
            font-weight: bold;
            cursor: pointer;
            margin-top: 20px;
            transition: all 0.1s ease;
            font-family: 'Courier New', monospace;
            box-shadow: 4px 4px 0px #306230;
        }

        .start-btn:hover, .restart-btn:hover {
            background: #9BBD0F;
            transform: translate(2px, 2px);
            box-shadow: 2px 2px 0px #306230;
        }

        .start-btn:active, .restart-btn:active {
            transform: translate(4px, 4px);
            box-shadow: none;
        }

        .instructions {
            margin-top: 20px;
            font-size: 0.9rem;
            line-height: 1.4;
            color: #306230;
            font-family: 'Courier New', monospace;
        }

        @media (max-width: 480px) {
            .game-container {
                padding: 15px;
                margin: 10px;
                width: calc(100vw - 20px);
                max-width: 400px;
            }
            
            h1 {
                font-size: 1.8rem;
                margin-bottom: 15px;
            }
            
            .game-info {
                flex-direction: column;
                gap: 10px;
                font-size: 1rem;
            }
            
            #gameCanvas {
                width: 100%;
                height: auto;
                max-width: 350px;
                aspect-ratio: 1;
            }
            
            .controls {
                max-width: 180px;
                gap: 8px;
            }
            
            .control-btn {
                font-size: 1.2rem;
                padding: 12px;
            }
            
            .instructions {
                font-size: 0.8rem;
                margin-top: 15px;
            }
        }

        @media (max-width: 380px) {
            .game-container {
                padding: 10px;
            }
            
            h1 {
                font-size: 1.6rem;
            }
            
            #gameCanvas {
                max-width: 300px;
            }
            
            .controls {
                max-width: 150px;
            }
            
            .control-btn {
                font-size: 1rem;
                padding: 10px;
            }
        }