/* Mahjong-Solitaire — 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:620px;margin:0 auto;
}
#sdb-game-root *{box-sizing:border-box;}
.mj-bar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.mj-status{font-weight:700;font-size:1.02rem;min-height:1.5rem;}
.mj-controls{display:flex;gap:.5rem;align-items:center;}
.mj-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;}
.mj-btn{font:inherit;font-weight:700;padding:.6rem 1.1rem;border:0;border-radius:999px;background:var(--deep);color:#fff;cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1);}
.mj-btn:hover{transform:translateY(-2px) scale(1.03);}
.mj-btn.alt{background:var(--mustard);color:var(--ink);}
.mj-btn:focus-visible,.mj-tile:focus-visible,.mj-select:focus-visible{outline:3px solid var(--mustard);outline-offset:2px;}
.mj-board{position:relative;margin:0 auto;}
.mj-tile{position:absolute;border:0;padding:0;background:var(--paper);border-radius:.5rem;box-shadow:0 2px 0 rgba(74,78,105,.35),0 0 0 1px var(--line);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s,box-shadow .15s,opacity .2s;}
.mj-tile:hover{transform:translateY(-2px);}
.mj-tile.blocked{cursor:default;filter:saturate(.5) brightness(.94);box-shadow:inset 0 0 0 100px rgba(74,78,105,.10),0 0 0 1px var(--line);}
.mj-tile.sel{box-shadow:0 0 0 3px var(--deep),0 2px 0 rgba(74,78,105,.35);}
.mj-tile.hintpair{box-shadow:0 0 0 3px var(--mustard),0 2px 0 rgba(74,78,105,.35);}
.mj-tile svg{width:70%;height:70%;}
.mj-tile.gone{opacity:0;transform:scale(.4);pointer-events:none;}
@media (prefers-reduced-motion:reduce){.mj-tile{transition:none!important;}}
