body {
    margin: 0;
    padding: 20px;
    background: #0f172a;
    color: #f8fafc;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

h1 {
    text-align: center;
    margin-bottom: 20px;
}

/* Container bestimmt die Gesamtbreite */
.container {
    width: 100%;
    max-width: 420px; /* Handy: volle Breite, PC: 1/3 */
    margin: 0 auto;
}

/* FELDGRÖSSE: Matrix bestimmt die Größe */
.cell,
.grid-item {
    aspect-ratio: 1 / 1;
    width: 100%;
    border-radius: 10px;
    border: 2px solid #475569;

    display: flex;
    justify-content: center;
    align-items: center;

    font-size: 20px;
}

/* Farben */
.sel {
    background: #334155;
}

.btn {
    background: #ef4444;
    color: white;
    cursor: pointer;
}

.btn:hover {
    background: #dc2626;
}

/* 7 Felder oben */
.selection-row {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 8px;
}

/* Abstand */
.spacer {
    height: 60px;
}

/* 7x7 Matrix */
.grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 8px;
}

.grid-item {
    background: #1e293b;
    cursor: pointer;
}

.grid-item:hover {
    background: #334155;
}
