.sudoku-grid {
            margin: 1.5rem auto;
            display: flex;
            justify-content: center;
        }
        .sudoku-table {
            border-collapse: collapse;
            background-color: white;
            box-shadow: 0 8px 20px rgba(0,0,0,0.1);
        }
        .sudoku-table td {
            padding: 0;
            margin: 0;
        }
        .sudoku-cell {
            width: 58px;
            height: 58px;
            text-align: center;
            font-size: 1.6rem;
            font-weight: 500;
            font-family: 'Courier New', 'Segoe UI', monospace;
            border: 1px solid #ccc;
            padding: 0;
            transition: all 0.1s;
            color: #1e2a3e;
        }
        .sudoku-cell:focus {
            outline: none;
            background-color: #e9f0ff;
            box-shadow: inset 0 0 0 2px #3b82f6;
        }
        .sudoku-table tr:nth-child(3) td,
        .sudoku-table tr:nth-child(6) td {
            border-bottom: 3px solid #2c3e50;
        }
        .sudoku-table td:nth-child(3),
        .sudoku-table td:nth-child(6) {
            border-right: 3px solid #2c3e50;
        }
        .sudoku-table td:first-child {
            border-left: 2px solid #2c3e50;
        }
        .sudoku-table tr:first-child td {
            border-top: 2px solid #2c3e50;
        }
        .predefined-cell {
            background-color: #f8f9fc;
            font-weight: 700;
            color: #0b3b5f;
        }
        .solved-cell {
            background-color: #e0f2fe;
            color: #0369a1;
        }
        .conflict-cell {
            background-color: #fee2e2 !important;
            box-shadow: inset 0 0 0 2px #dc2626;
        }
        .status-badge {
            font-size: 1rem;
            padding: 0.5rem 1rem;
            border-radius: 40px;
            display: inline-block;
        }
        .sudoku-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            justify-content: center;
            margin: 20px 0;
        }
        .example-preset {
            background-color: rgba(59,130,246,0.08);
            border: 1px solid rgba(59,130,246,0.2);
        }
        .import-export-area {
            background: #f8fafc;
            border-radius: 12px;
            padding: 0.8rem;
            margin-top: 1rem;
        }
        .legend-sudoku {
            display: flex;
            justify-content: center;
            gap: 2rem;
            margin: 0.5rem 0 1rem;
            font-size: 0.85rem;
        }
        .legend-box {
            width: 20px;
            height: 20px;
            display: inline-block;
            margin-right: 6px;
            border: 1px solid #aaa;
        }
        .legend-box.predefined { background-color: #f8f9fc; border:1px solid #aaa; }
        .legend-box.solved { background-color: #e0f2fe; }
        .legend-box.user { background-color: white; }
        .legend-box.conflict { background-color: #fee2e2; border-color:#dc2626; }
        @media (max-width: 640px) {
            .sudoku-cell { width: 36px; height: 36px; font-size: 1.1rem; }
        }
        @media (max-width: 480px) {
            .sudoku-cell { width: 32px; height: 32px; font-size: 1rem; }
        }
        .result-card {
            background: #f8fafc;
            border-radius: 16px;
            padding: 1rem;
            margin: 1rem 0;
        }
        .tool-header p {
            font-size: 1.1rem;
        }
        .deep-dive {
            text-align: justify;
        }
        .btn-sm-square {
            width: 42px;
        }
        textarea.import-text {
            font-family: monospace;
            font-size: 0.8rem;
        }