.ttt-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; max-width: 320px; margin: 1rem auto; }
.ttt-cell {
    aspect-ratio: 1; border: none; border-radius: 16px; background: #f3f0ff; cursor: pointer;
    font-size: clamp(2rem, 9vw, 3rem);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 0 rgba(0, 0, 0, .1);
}
.ttt-cell:active { transform: scale(.97); }
.ttt-cell.win { background: #e9fbef; box-shadow: 0 0 0 3px #69db7c; }
.ttt-diff { display: flex; justify-content: center; gap: .5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.ttt-diff-btn {
    border: 2px solid #e3dcff; background: #faf8ff; color: #5b4b9e; cursor: pointer;
    border-radius: 999px; padding: .4rem .9rem; font-size: 1rem; font-weight: 600;
    transition: transform .1s, background .15s, border-color .15s;
}
.ttt-diff-btn:active { transform: scale(.96); }
.ttt-diff-btn.active { background: #7048e8; border-color: #7048e8; color: #fff; }
.ttt-diff-evil.active { background: #e03131; border-color: #e03131; }
