.play-queue-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:12px;padding:12px 16px;border:1px solid var(--border-default,#ad9567);border-radius:16px;background:var(--surface-raised,#fff9e9);color:var(--text-primary,#392b18);font-size:.9rem}.play-queue-bar>div{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.play-queue-bar button{min-height:40px;padding:8px 12px}.play-queue-bar[hidden],.play-queue-modal[hidden]{display:none!important}.play-queue-modal{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;padding:16px;box-sizing:border-box;background:#1b160ec9;overflow-y:auto;overscroll-behavior:contain}.play-queue-modal>section{width:min(100%,480px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;box-sizing:border-box;border:1px solid #c4a463;border-radius:28px;padding:28px 24px;text-align:center;color:#372916;background:radial-gradient(ellipse at top,#fff9df,#f5e9ca 80%);box-shadow:0 24px 80px #0006}.play-queue-icon{font-size:64px;line-height:1.2;margin-bottom:14px}.play-queue-eyebrow{font-size:.75rem;letter-spacing:.18em;font-weight:800;color:#80622c}.play-queue-modal h2{font-size:clamp(1.45rem,5vw,2rem);line-height:1.2;margin:10px 0 18px;overflow-wrap:anywhere}.play-queue-modal #baha-queue-detail{font-size:1.2rem;line-height:1.5;font-weight:650;white-space:pre-line;overflow-wrap:anywhere}.play-queue-follow{font-size:.95rem;line-height:1.45;margin:18px 0;color:#685639}.play-queue-progress{height:5px;background:#dfd1b1;border-radius:8px;overflow:hidden;margin:22px 0}.play-queue-progress span{display:block;height:100%;width:100%;background:#96712b}.play-queue-actions{display:flex;gap:10px;flex-wrap:wrap}.play-queue-actions button{flex:1 1 160px;min-height:48px;white-space:normal;border-radius:14px;padding:12px;border:1px solid #ac8a49;background:#fffaf0;color:#513b15;font-size:1rem;font-weight:700}.play-queue-actions [data-queue-next]{background:#664f21;color:#fff9e7;border-color:#664f21}.play-queue-modal[data-outcome=win] h2{color:#256342}.play-queue-modal[data-outcome=loss] h2{color:#9c3c27}.play-queue-modal [data-queue-error]{border-radius:12px;padding:10px;background:#fff0e7;color:#8b2d1a;font-size:.9rem}@media(max-width:480px){.play-queue-modal>section{padding:24px 18px}.play-queue-bar{margin:8px;padding:10px 12px}.play-queue-icon{font-size:54px}}
/* 310: keep the final result available until the player chooses a rematch or finishes. */
.play-queue-modal [hidden]{display:none!important}.play-queue-actions [data-queue-rematch]{flex-basis:100%;background:#664f21;color:#fff9e7;border-color:#664f21}.play-queue-modal[data-rematch="1"] [data-queue-next]{background:#fffaf0;color:#513b15;border-color:#ac8a49}.play-queue-actions button:disabled{opacity:.65;cursor:wait}
.play-result-matchup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0;text-align:center}.play-result-side{min-width:0;padding:12px 8px;border:1px solid #c9b17f;border-radius:14px;background:#fffaf0;overflow-wrap:anywhere;color:#372916}.play-result-side>small{display:block;font-size:.8rem;line-height:1.3;color:#685639}.play-result-side>strong{display:block;margin-top:5px;font-size:1.05rem;line-height:1.35}.play-result-tokens{display:flex;justify-content:center;flex-wrap:wrap;gap:4px;margin-top:8px;font-size:1.4rem}.play-result-tokens.dice>span,.play-result-tokens.cards>span{display:inline-grid;place-items:center;min-width:22px;min-height:28px;padding:2px;box-sizing:border-box;border:1px solid #c9bca2;border-radius:5px;background:#fff;color:#241c11;font-weight:750;font-size:1rem;line-height:1.2}.play-result-tokens.cards>span{min-width:32px;min-height:39px}.play-result-tokens.cards>span.red{color:#aa352c}.play-queue-modal[data-comparison="1"] .play-queue-icon{font-size:42px;margin-bottom:4px}.play-queue-modal[data-comparison="1"] .play-queue-eyebrow{margin:7px 0}.play-queue-modal[data-comparison="1"] h2{margin:8px 0 12px}.play-queue-modal[data-comparison="1"] #baha-queue-detail{margin:10px 0}@media(max-width:350px){.play-result-matchup{grid-template-columns:1fr}}
