/* Tic-Tac-Toe — scoped to #sdb-game-root. spieldb.de pastel tokens. */
#sdb-game-root {
  --cream:#FDFBF7; --paper:#fff; --rose:#E5989B; --mustard:#FFB347; --deep:#4A4E69; --ink:#22223B; --line:rgba(74,78,105,.12);
  font-family:'Be Vietnam Pro',system-ui,sans-serif; color:var(--ink); max-width:560px; margin:0 auto;
}
#sdb-game-root *{box-sizing:border-box;}
.ttt-bar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:1.25rem;}
.ttt-status{font-weight:700;font-size:1.05rem;min-height:1.5rem;}
.ttt-controls{display:flex;gap:.5rem;align-items:center;}
.ttt-select{font:inherit;font-weight:600;padding:.55rem .9rem;border:2px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);cursor:pointer;}
.ttt-btn{font:inherit;font-weight:700;padding:.6rem 1.3rem;border:0;border-radius:999px;background:var(--deep);color:#fff;cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1);}
.ttt-btn:hover{transform:translateY(-2px) scale(1.03);}
.ttt-btn:focus-visible,.ttt-cell:focus-visible,.ttt-select:focus-visible{outline:3px solid var(--mustard);outline-offset:2px;}
.ttt-board{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;background:transparent;}
.ttt-cell{aspect-ratio:1;border:3px solid var(--line);border-radius:1.5rem;background:var(--paper);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:14%;transition:background .2s,border-color .2s;}
.ttt-cell:hover:not(:disabled){background:rgba(255,179,71,.08);border-color:rgba(255,179,71,.5);}
.ttt-cell:disabled{cursor:default;}
.ttt-cell svg{width:100%;height:100%;display:block;}
.ttt-mark{transform-origin:center;}
.ttt-x{stroke:var(--deep);stroke-width:7;stroke-linecap:round;fill:none;}
.ttt-o{stroke:var(--rose);stroke-width:7;fill:none;}
.ttt-win .ttt-cell.win{border-color:var(--mustard);background:rgba(255,179,71,.16);}
@keyframes ttt-pop{0%{transform:scale(.2);opacity:0;}100%{transform:scale(1);opacity:1;}}
.ttt-mark{animation:ttt-pop .28s cubic-bezier(.34,1.56,.64,1) both;}
@media (prefers-reduced-motion:reduce){#sdb-game-root *{animation:none!important;transition:none!important;}}
@media (max-width:420px){.ttt-board{gap:.5rem;}.ttt-cell{border-radius:1.1rem;}}
