.expansion58-board {
  box-sizing: border-box;
  width: min(100%, 620px);
  margin: 0 auto;
  padding: clamp(18px, 4vw, 32px);
  border: 1px solid #af894b;
  border-radius: 22px;
  background: radial-gradient(circle at 50% 10%, #214c47, #0b252c 72%);
  color: #f8f3e7;
  box-shadow: inset 0 0 0 4px #092027, 0 16px 38px #0005;
  text-align: center;
}
.expansion58-board-title { margin: 0 0 18px; color: #f5cf82; font-weight: 750; letter-spacing: .06em; }
.expansion58-picked { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 20px; font-size: 1.12rem; }
.expansion58-picked strong { color: #ffda8e; font-size: 2rem; line-height: 1; }
.expansion58-dice, .expansion58-cards { display: flex; align-items: center; justify-content: center; gap: clamp(10px, 3vw, 24px); }
.expansion58-die { display: grid; place-items: center; width: clamp(68px, 18vw, 98px); height: clamp(68px, 18vw, 98px); border: 3px solid #f4dca3; border-radius: 17px; background: linear-gradient(145deg,#fffaf0,#e5d6b0); box-shadow: 0 8px 1px #6d5338, 0 13px 20px #0007; color: #244e4c; font-size: clamp(2rem, 8vw, 3.7rem); line-height: 1; }
.expansion58-die.matched { outline: 4px solid #efc663; outline-offset: 4px; color: #7b352c; }
.expansion58-landed { animation: expansion58-land .3s ease-out both; }
.expansion58-board-status { min-height: 1.5em; margin: 23px 0 0; font-weight: 600; }
.expansion58-hands { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(12px,4vw,26px); }
.expansion58-hand { min-width: 0; padding: 15px 6px 20px; border-radius: 15px; background: #071a2059; }
.expansion58-hand-label { display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; column-gap: 8px; margin: 0 0 14px; }
.expansion58-hand-label span { color: #e6e3d7; font-size: .9rem; }
.expansion58-hand-label b { color: #f5d384; }
.expansion58-card { box-sizing: border-box; display: grid; place-items: center; width: clamp(48px, 11vw, 72px); height: clamp(70px, 16vw, 104px); border: 2px solid #f8e8bd; border-radius: 9px; background: #fff9eb; box-shadow: 0 7px 15px #0007; color: #243b40; font: bold clamp(1.5rem, 5vw, 2.6rem)/1 Georgia,serif; }
.expansion58-card.red { color: #ae3737; }
.expansion58-card small { display: block; margin-top: 3px; font-size: .65em; }
.expansion58-preview-toolbar, .expansion58-preview-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 14px 0; }
.expansion58-preview-toolbar select { padding: 8px; border-radius: 8px; max-width: 100%; }
.expansion58-preview-surface { padding: 15px 0; }
.expansion58-preview-actions a { color: #e5ba76; }
#expansion58-status { min-height: 1.5em; }
#expansion58-settlement { min-height: 1.5em; }
#expansion58-settlement strong { color: #f6d583; }
@keyframes expansion58-land { from { transform: translateY(-18px) rotate(-7deg) scale(.75); opacity: .45; } to { transform: none; opacity: 1; } }
@media (max-width: 520px) { .expansion58-hands { grid-template-columns: 1fr; } .expansion58-hand { padding: 8px 6px 12px; } }
@media (prefers-reduced-motion: reduce) { .expansion58-landed { animation: none; } }
