    :root { --cell-size: 10vw; }
        @media (min-width: 500px) { :root { --cell-size: 45px; } }

        body {
            margin: 0; padding: 0; background-color: #333;
            font-family: 'Inter', sans-serif; touch-action: none;
            overflow: hidden; display: flex; flex-direction: column;
            align-items: center; height: 100vh;
        }

        #game-space {
            position: relative;
            width: calc(10 * var(--cell-size));
            height: calc(16 * var(--cell-size));
            background-color: #d1d5db;
            background-image: 
                linear-gradient(to right, #9ca3af 1px, transparent 1px),
                linear-gradient(to bottom, #9ca3af 1px, transparent 1px);
            background-size: var(--cell-size) var(--cell-size);
            border: 2px solid #555; margin-top: 10px;
        }

        .board-cell {
            position: absolute; width: var(--cell-size); height: var(--cell-size);
            background: white; border: 1px solid #aaa;
            display: flex; align-items: center; justify-content: center;
            font-size: calc(var(--cell-size) * 0.3); font-weight: bold;
            color: black; z-index: 1;
        }

        .board-cell.blocked { background: #f8fafc !important; color: transparent; pointer-events: none; }
        .board-cell.selected { background: black !important; color: white !important; }

        .piece-wrapper { position: absolute; touch-action: none; z-index: 10; }
        .piece-grid { display: grid; pointer-events: none; }
        .piece-cell { width: var(--cell-size); height: var(--cell-size); border-radius: 4px; border: 1px solid rgba(0,0,0,0.2); }

        .controls {
            position: absolute; top: -40px; left: 0; display: flex; gap: 4px;
            z-index: 20; background: rgba(0,0,0,0.8); padding: 4px;
            border-radius: 6px; opacity: 0; transition: opacity 0.3s; pointer-events: none;
        }
        .controls.visible { opacity: 1; pointer-events: auto; }
        .btn-ctrl { background: #fff; color: #000; font-size: 11px; padding: 4px 10px; border-radius: 4px; font-weight: 800; }