/* Shanghai: eigenständiger Spielebereich im gemeinsamen Senioren-Design */
.shanghai-game .shell{max-width:1150px;margin:auto;padding:8px 0 26px}
.shanghai-game .toolbar{display:flex;justify-content:center;flex-wrap:wrap;align-items:center;gap:.55rem;margin-bottom:.65rem}
.shanghai-game .toolbar label{font-weight:700}
.shanghai-game .toolbar button,.shanghai-game .toolbar select{font:600 1rem Arial,Helvetica,sans-serif;border:2px solid var(--line);border-radius:.65rem;padding:.6em .8em;min-height:3rem;background:var(--accent);color:var(--accentfg);cursor:pointer;max-width:100%}
.shanghai-game .toolbar button:hover,.shanghai-game .toolbar button:focus-visible,.shanghai-game .toolbar select:focus-visible{outline:4px solid var(--focus);outline-offset:2px}
.shanghai-game .toolbar button:disabled{opacity:.5;cursor:not-allowed}
.shanghai-game .board-wrap{overflow:hidden;margin:1rem auto .5rem;border:3px solid #ba9954;border-radius:1rem;background:radial-gradient(ellipse at 50% 42%,#27685e,#123d39 67%,#0e2a28);box-shadow:0 10px 26px #0005,inset 0 0 35px #0004;display:flex;justify-content:center;align-items:center;min-height:330px;width:100%}
.shanghai-game #board{position:relative;flex:none;transform-origin:center center;user-select:none}
.shanghai-game .tile{position:absolute;width:62px;height:76px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:6px;border:2px solid #f6ead1;background:linear-gradient(115deg,#fffef2 3%,#e9d9b5 80%);box-shadow:-4px 5px 0 #a8a07f,-6px 7px 0 #474c3b,0 9px 12px #0008;color:#1a332e;font:700 11px Arial,Helvetica,sans-serif;padding:0;transition:filter .12s,transform .12s}
.shanghai-game .tile .face{font-size:34px;line-height:1.15;text-shadow:0 1px #fff6}
.shanghai-game .tile .small{font-size:11px;line-height:1.2;margin-top:2px;letter-spacing:.02em}
.shanghai-game .tile[data-suit="dots"]{color:#135f91}.shanghai-game .tile[data-suit="bamboo"]{color:#176b3f}.shanghai-game .tile[data-suit="characters"]{color:#aa3330}.shanghai-game .tile[data-suit="honors"]{color:#784384}.shanghai-game .tile[data-suit="flowers"]{color:#ad5480}.shanghai-game .tile[data-suit="seasons"]{color:#b66d16}
.shanghai-game .tile.blocked{filter:brightness(.65);cursor:not-allowed}.shanghai-game .tile.free:hover{filter:brightness(1.14);transform:translateY(-2px)}.shanghai-game .tile.selected{outline:4px solid #ffd34e;outline-offset:1px;filter:brightness(1.15)}.shanghai-game .tile.hint{outline:4px solid #8fef92;outline-offset:1px}.shanghai-game .tile:focus-visible{outline:4px solid #ffe267;outline-offset:2px}
.shanghai-game .status{display:flex;justify-content:center;flex-wrap:wrap;gap:.65rem 1.1rem;margin:.9rem 0;color:var(--fg);font-weight:700;font-size:1rem}
.shanghai-game .message{min-height:2rem;text-align:center;color:var(--fg);font-size:1.1rem;font-weight:bold;margin:.6rem 0}
.shanghai-game .rules{background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:1rem 1.2rem;max-width:870px;margin:1rem auto;font-size:1rem;line-height:1.6}
.shanghai-game .rules h2{margin:0 0 .5rem;font-size:1.4rem;color:var(--fg)}
.shanghai-game .rules p{margin:0 0 .65rem}.shanghai-game .rules p:last-child{margin:0}
@media(max-width:600px){.shanghai-game .board-wrap{min-height:230px}.shanghai-game .toolbar{justify-content:stretch}.shanghai-game .toolbar label{width:100%;text-align:center}.shanghai-game .toolbar button,.shanghai-game .toolbar select{flex:1 1 130px}}
@media(prefers-reduced-motion:reduce){.shanghai-game .tile{transition:none}}
