.play-page{max-width:1100px;margin:0 auto;padding:18px 16px 125px;box-sizing:border-box}.play-page h1{margin:0 0 8px}.play-page p{overflow-wrap:anywhere}.play-run-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px;margin:12px;border:1px solid var(--border-default,#b5a17b);border-radius:16px;background:var(--surface-raised,#fffbeb)}.play-run-bar form{margin:0 0 0 auto}.play-run-bar b{font-size:.85rem}.play-launch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px;border:1px solid var(--border-default,#b5a17b);border-radius:22px;background:var(--surface-raised,#fffbeb);margin:20px 0}.play-launch label{display:flex;flex-direction:column;gap:6px;min-width:0}.play-launch input,.play-launch select{box-sizing:border-box;max-width:100%;width:100%;min-height:46px}.play-total{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--border-default,#b5a17b)}.play-total strong{font-size:1.25rem}.play-total button{min-height:48px;min-width:180px}.play-group{margin:28px 0}.play-group h2{display:flex;align-items:center;gap:12px;font-size:1.15rem}.play-group h2 small{font-size:.8rem;font-weight:normal;padding:5px 9px;background:var(--surface-3,#eee3c5);border-radius:20px}.play-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:12px}.play-card{min-width:0;padding:16px;border:1px solid var(--border-default,#b5a17b);border-radius:18px;background:var(--surface-raised,#fffbeb);box-shadow:0 3px 10px #00000008}.play-card.is-turn{border-inline-start:4px solid #42845a}.play-card h3{margin:8px 0;font-size:1rem}.play-card>small{overflow-wrap:anywhere;font-size:.72rem;opacity:.75}.play-card form{display:inline-block;margin:8px 0 0 4px}.play-leave{font-size:.8rem;min-height:36px}.play-result{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px;border-bottom:1px solid var(--border-default,#b5a17b)}.play-result p{margin:5px 0}.play-result small{opacity:.7}.play-new{font-size:.7rem;margin-left:8px;background:#275e40;color:#fff;padding:3px 7px;border-radius:10px}.play-empty{padding:22px;background:var(--surface-2,#faf3dd);border:1px dashed var(--border-default,#b5a17b);border-radius:16px}.play-memory{max-width:580px;margin:24px auto;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.play-memory form{margin:0}.play-memory button{width:100%;aspect-ratio:1;min-height:62px;font-size:2rem;border-radius:16px;border:2px solid #a68e51;background:var(--surface-raised,#fff9e6)}.play-memory .matched{border-color:#42845a;background:#e4efd6}.play-memory button:disabled{opacity:1}.play-run-bar .btn{white-space:normal}.play-summary-note{font-size:.9rem;opacity:.8}.play-launch [hidden]{display:none!important}@media(max-width:640px){.play-launch{grid-template-columns:1fr 1fr;padding:15px;gap:12px}.play-launch .play-game-label{grid-column:1/-1}.play-total{align-items:stretch;flex-direction:column}.play-grid{grid-template-columns:1fr}.play-page{padding-inline:12px}.play-result{align-items:flex-start;flex-direction:column}.play-run-bar{margin:8px;padding:10px;font-size:.9rem}}@media(prefers-reduced-motion:reduce){.play-card,.play-memory button{transition:none}}

/* 21: a menetsáv és a játéksor a kártyák és a lépések alatt marad. */
.game-bottom-controls{margin:18px 0 10px}
.game-bottom-controls .play-run-bar{margin:0}
.game-bottom-controls .play-run-bar form{margin-left:auto}
