        :root {
            --cell-size: 35px;
        }
        @media (max-width: 640px) {
            :root { --cell-size: 25px; }
        }
        .div-wrapper {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            padding: 20px;
            box-sizing: border-box;
        }

        .div-container {
            background: #2c3e50;
            border: 4px solid #3f8fef;
            border-radius: 12px;
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 100%;
            max-width: 800px;
            padding: 24px;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);

        }
        .grid-container {
            display: grid;
            gap: 1px;
            background-color: #cbd5e1;
            border: 2px solid #64748b;
        }
        .cell {
            width: var(--cell-size);
            height: var(--cell-size);
            background-color: white;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            user-select: none;
            font-size: 1.2rem;
            transition: background-color 0.1s;
        }
        .cell.filled { background-color: #1e293b; }
        .cell.marked { color: #ef4444; }
        .cell.error { background-color: #fee2e2; }
        
        .hint-cell {
            background-color: #f1f5f9;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            color: #475569;
            font-size: 0.8rem;
        }
        .hint-row { flex-direction: row; padding: 0 5px; justify-content: flex-end; }
        .hint-col { flex-direction: column; padding: 5px 0; justify-content: flex-end; }
        
        .border-right-bold { border-right: 2px solid #64748b; }
        .border-bottom-bold { border-bottom: 2px solid #64748b; }

        /* 활성화된 난이도 버튼 스타일 */
        .btn-difficulty.active {
            background-color: #1e293b;
            color: white;
            border-color: #1e293b;
        }