.bs-shell {
  --bs-ink: var(--game-ui-ink);
  --bs-muted: var(--game-ui-muted);
  --bs-paper: var(--game-ui-panel);
  --bs-panel: var(--game-ui-panel);
  --bs-stroke: var(--game-ui-border);
  --bs-sheen: var(--game-ui-inset);
  color: var(--bs-ink);
}
.bs-shell .game-stage { min-width: 0; }
.bs-table, .bs-entry {
  max-width: 1500px;
  margin: 0 auto;
  padding: clamp(12px, 3vw, 28px);
  border-radius: 22px;
  background: var(--game-ui-stage);
  box-shadow: var(--shadow);
}
.bs-entry {
  max-width: 650px; min-height: 320px; display: flex; align-items: flex-start;
  flex-direction: column; justify-content: center; gap: 14px;
}
.bs-entry h3 { margin: 0; font-family: var(--game-ui-heading); font-size: clamp(1.8rem, 5vw, 2.6rem); }
.bs-entry p { margin: 0; line-height: 1.55; }
.bs-eyebrow {
  font: 700 .7rem/1.5 system-ui, sans-serif; letter-spacing: .19em;
  color: #805f35; text-transform: uppercase;
}
.bs-top h3 {
  font-family: var(--game-ui-heading); font-size: clamp(1.3rem, 3vw, 1.8rem);
  line-height: 1.15; margin: 5px 0;
}
.bs-top p { margin: 6px 0; }
.bs-message { color: var(--bs-muted); }
.bs-last-roll { display: inline-block; padding: 5px 11px; border: 1px solid var(--bs-stroke);
  background: var(--bs-panel); border-radius: 20px; font-weight: 800; }
.bs-error { color: #981f39; font-weight: 700; overflow-wrap: anywhere; }
.bs-wait, .bs-tip { color: var(--bs-muted); }
.bs-handoff {
  border: 1px solid #b38954; background: #fffdf7; border-radius: 18px;
  margin: 14px 0; padding: 18px 24px; box-shadow: 0 8px 25px #2e21121a;
}
.bs-handoff h3 { margin: 4px 0; font-family: var(--game-ui-heading); }
.bs-seats {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 165px), 1fr));
  gap: 8px; margin: 16px 0; min-width: 0;
}
.bs-seat {
  border-radius: 12px; border: 1px solid var(--bs-stroke); border-left: 5px solid var(--seat-ink);
  background: var(--bs-panel); padding: 8px 11px;
  display: flex; flex-direction: column; gap: 3px; min-width: 0;
}
.bs-seat strong, .bs-seat span, .bs-seat small { overflow-wrap: anywhere; }
.bs-seat.is-current { outline: 2px solid #995f2f; outline-offset: 1px; }
.bs-seat.is-out { opacity: .58; }
.bs-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(265px, 335px); gap: 16px; align-items: start; min-width: 0; }
.bs-board-scroll {
  width: 100%; overflow: auto; border-radius: 14px; border: 6px solid #4f392c;
  background: #d9c6a6; box-shadow: 0 12px 25px #3b24152a;
  scrollbar-color: #9e7443 transparent;
}
.bs-board {
  --cell: clamp(62px, 6.4vw, 98px);
  min-width: calc(11 * var(--cell)); width: calc(11 * var(--cell));
  display: grid; grid-template-columns: repeat(11, var(--cell));
  grid-template-rows: repeat(11, var(--cell));
  background: #ebddc1; gap: 0;
}
.bs-space {
  position: relative; padding: 4px 3px 3px;
  min-width: 0; min-height: 0; border: 1px solid #9b876d;
  background: #fffdf3; color: #29313d; overflow: hidden; display: flex; flex-direction: column;
  align-items: center; justify-content: flex-start; text-align: center;
  gap: 2px; font-size: clamp(.48rem, .7vw, .68rem);
}
.bs-space strong { line-height: 1.15; font-size: 1.08em; overflow-wrap: anywhere; }
.bs-space small { color: #554735; font-size: .9em; }
.bs-square-number { align-self: flex-start; color: #756554; font: 700 .58rem/1 system-ui; }
.bs-city { border-top: 11px solid var(--deed-ink); }
.bs-transport { background: #f3ebe0; border-top: 11px solid #464955; }
.bs-utility { background: #ecf2ee; border-top: 11px solid #649575; }
.bs-fortune { background: #f7e9db; color: #704324; }
.bs-fund { background: #e9edf9; color: #394e8f; }
.bs-tax, .bs-go-jail { background: #f9e8e5; }
.bs-start { background: #dcedd9; border-top: 11px solid #4f9a6a; }
.bs-jail { background: #f9e6d4; }
.bs-owner {
  display: block; margin-top: auto; width: 100%; padding: 1px 0;
  background: var(--seat-ink); color: #1d2023; font-weight: 800;
  overflow-wrap: anywhere; line-height: 1.1;
}
.bs-tokens { position: absolute; right: 1px; bottom: 1px; display: flex; flex-wrap: wrap; justify-content: flex-end; max-width: 100%; }
.bs-token { background: var(--seat-ink); color: #171c20; font-weight: 900; border: 1px solid white;
  border-radius: 50%; width: 17px; height: 17px; display: grid; place-items: center; }
.bs-center {
  grid-row: 2 / 11; grid-column: 2 / 11; text-align: center;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 24px; color: #463a2e; background: radial-gradient(circle, #faf3e3, #e7d5ae);
}
.bs-center strong { font: 900 clamp(3rem, 7vw, 6rem)/1 Georgia, serif; letter-spacing: -.065em; color: #48342a; }
.bs-center p { font: italic 1.2rem Georgia, serif; }
.bs-priority, .bs-tools { display: grid; align-content: start; gap: 10px; min-width: 0; }
.bs-priority section, .bs-tools details {
  background: var(--bs-panel); padding: 14px; border-radius: var(--game-ui-radius);
  border: 1px solid var(--bs-stroke); min-width: 0;
}
.bs-tools details summary, .bs-entry details summary {
  cursor: pointer; font-weight: 800; padding: 3px 0; line-height: 1.4;
}
.bs-tools details p { line-height: 1.55; overflow-wrap: anywhere; }
.bs-priority h4, .bs-tools h4 { margin: 0 0 12px; font-family: var(--game-ui-heading); font-size: 1.1rem; font-weight: 800; }
.bs-button {
  min-height: 44px; border: 1px solid var(--game-ui-primary); border-radius: var(--game-ui-radius);
  background: var(--game-ui-primary); color: var(--game-ui-primary-ink); font-weight: 800; cursor: pointer;
  padding: 9px 14px; text-align: center; overflow-wrap: anywhere; line-height: 1.3;
}
.bs-button:hover:not(:disabled) { filter: brightness(1.12); }
.bs-button:disabled { opacity: .5; cursor: not-allowed; }
.bs-button--quiet { background: var(--bs-panel); color: var(--bs-ink); border-color: var(--bs-stroke); }
.bs-button--quiet:hover:not(:disabled) { background: var(--bs-sheen); }
.bs-button:focus-visible, .bs-board-scroll:focus-visible, .bs-tools summary:focus-visible,
.bs-tools input:focus-visible, .bs-tools select:focus-visible, .bs-priority input:focus-visible,
.bs-priority select:focus-visible {
  outline: 3px solid var(--game-ui-focus); outline-offset: 2px;
}
.bs-actions { display: grid; gap: 10px; }
.bs-actions label, .bs-trade-form label { display: grid; gap: 4px; font-weight: 600; }
.bs-priority input, .bs-priority select, .bs-tools input, .bs-tools select { width: 100%; min-width: 0; min-height: 44px; border: 1px solid var(--bs-stroke);
  background: var(--bs-panel); color: var(--bs-ink); border-radius: 7px; padding: 7px; font: inherit; }
.bs-deed { border-left: 5px solid var(--deed-ink); padding: 9px; margin: 9px 0; display: grid; gap: 5px; background: var(--bs-sheen); border-radius: 4px; }
.bs-deed small { line-height: 1.5; }
.bs-deed-actions { display: flex; flex-wrap: wrap; gap: 5px; }
.bs-deed-actions button { flex: 1 1 auto; font-size: .76rem; }
.bs-portfolio > button, .bs-switch > button { display: block; width: 100%; margin: 6px 0; }
.bs-trade-form { display: grid; gap: 8px; margin: 12px 0 0; }
.bs-trade-form fieldset { border: 1px solid var(--bs-stroke); max-height: 160px; overflow-y: auto; min-width: 0; }
.bs-trade-form fieldset label { display: flex; align-items: center; font-weight: normal; min-height: 35px; }
.bs-trade-form fieldset input { width: 20px; min-height: 20px; margin-right: 6px; }
.bs-roll .arcade-die-arena { max-width: 100%; }
@media (max-width: 1080px) {
  .bs-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 540px) {
  .bs-table { padding: 10px; border-radius: 13px; }
  .bs-board { --cell: 69px; }
  .bs-board-scroll { max-height: 610px; }
  .bs-center strong { font-size: 3rem; }
  .bs-seats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
[data-theme="dark"] .bs-eyebrow { color: #f5c784; }
[data-theme="dark"] .bs-error { color: #ff9db0; }
@media (prefers-reduced-motion: reduce) {
  .bs-shell *, .bs-shell *::before, .bs-shell *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

.bs-shell, .bs-shell * { box-sizing: border-box; }
.bs-shell {
  --bs-gold: #ffcb42; --bs-forest: #1754a2;
  min-width: 0; max-width: 100%; width: 100%; gap: 9px;
}
.bs-shell .game-head, .bs-shell .game-stage { min-width: 0; width: 100%; }
.bs-shell .game-stage { overflow: hidden; }
.bs-table { width: 100%; min-width: 0; }
.bs-shell .game-title, .bs-shell .game-meta { overflow-wrap: anywhere; }
.bs-shell .arcade-turn { max-width: 100%; overflow-wrap: anywhere; }
.bs-table {
  background: var(--game-ui-stage);
  border: 1px solid var(--bs-stroke); padding: clamp(10px, 1.8vw, 23px);
}
.bs-top {
  min-width: 0; padding: 0 0 10px;
  color: var(--bs-ink); background: none;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px;
  align-items: center;
}
.bs-top > h3, .bs-top > p { grid-column: 1 / -1; }
.bs-top h3, .bs-top p, .bs-handoff h3, .bs-handoff p {
  max-width: 100%; min-width: 0; overflow-wrap: anywhere; word-break: normal;
}
.bs-top h3 {
  max-width: 730px; font-family: var(--game-ui-heading); font-size: clamp(1.3rem, 2.4vw, 1.8rem); font-weight: 800; line-height: 1.2;
  letter-spacing: -.025em; overflow-wrap: anywhere; hyphens: auto;
}
.bs-top .bs-eyebrow { color: #f9cf8e; }
.bs-handoff .bs-eyebrow { color: var(--bs-muted); }
.bs-top .bs-message { color: var(--bs-muted); line-height: 1.45; }
.bs-current-spot {
  width: fit-content; max-width: 100%; min-width: 0; display: flex; align-items: center;
  gap: 6px; padding: 4px 10px; border: 1px solid #ffdc9e6b; border-radius: 100px;
  color: var(--bs-ink); background: var(--bs-panel); font-size: .82rem; font-weight: 750;
  overflow-wrap: anywhere;
}
.bs-current-spot span { min-width: 0; }
.bs-art-icon { width: 25px; height: 25px; flex: none; stroke: currentColor; color: inherit; }
.bs-current-spot .bs-art-icon { width: 20px; height: 20px; color: var(--bs-muted); }
.bs-top .bs-last-roll {
  color: var(--bs-ink); background: var(--bs-panel); border-color: var(--bs-stroke);
  padding: 3px 9px; font-size: .85rem; margin-right: 8px;
}
.bs-top .bs-wait { color: var(--bs-muted); }
.bs-journey { color: var(--bs-muted); font-size: .86rem; overflow-wrap: anywhere; }
.bs-card-flash {
  display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px;
  border-radius: 9px; border: 1px solid #edbd7d;
  background: #fef1d8; color: #513d2c; font-weight: 800; max-width: 100%;
  overflow-wrap: anywhere; box-shadow: 0 4px 12px #182e384d;
}
.bs-card-flash--fund { background: #d9ebee; color: #22455a; border-color: #70afb8; }
.bs-card-flash .bs-art-icon { width: 24px; height: 24px; }
.bs-handoff {
  position: relative; isolation: isolate; overflow: hidden; padding: 14px 20px;
  background: var(--bs-panel); border-color: var(--accent); color: var(--bs-ink);
}
.bs-handoff h3 { overflow-wrap: anywhere; font-size: clamp(1.15rem, 2.8vw, 1.8rem); }
.bs-handoff p { margin: 5px 0 10px; }
.bs-seats { margin: 10px 0; gap: 7px; }
.bs-seat {
  display: grid; grid-template-columns: 34px minmax(0, 1fr);
  grid-template-rows: auto auto; align-items: center; padding: 7px 9px; gap: 0 8px;
  border-left-width: 4px; box-shadow: 0 3px 9px #412e1712;
}
.bs-seat-piece, .bs-token {
  display: grid; place-items: center; background: var(--seat-ink); color: #202831;
  border: 2px solid #fff9e9; box-shadow: 0 2px 6px #16212a55, inset 0 1px 2px #fff9;
  border-radius: 50%;
}
.bs-seat-piece { width: 32px; height: 32px; grid-row: 1 / 3; }
.bs-seat-piece svg { width: 19px; height: 19px; }
.bs-seat strong, .bs-seat span:not(.bs-seat-piece) { min-width: 0; overflow-wrap: anywhere; }
.bs-seat span:not(.bs-seat-piece) { font-variant-numeric: tabular-nums; font-weight: 800; }
.bs-seat small { grid-column: 2; }
.bs-seat.is-current { outline-color: #c5873f; }
@keyframes bs-gain { from { box-shadow: 0 0 0 4px #66a985b0; } to { box-shadow: 0 3px 9px #412e1712; } }
@keyframes bs-loss { from { box-shadow: 0 0 0 4px #d37569b0; } to { box-shadow: 0 3px 9px #412e1712; } }
.bs-seat.is-gain { animation: bs-gain 1s ease-out; }
.bs-seat.is-loss { animation: bs-loss 1s ease-out; }
.bs-layout {
  grid-template-columns: minmax(0, 1fr) minmax(285px, 310px);
  grid-template-rows: auto; gap: 9px 12px;
}
.bs-priority { grid-column: 2; grid-row: 1; }
.bs-board-scroll { grid-column: 1; grid-row: 1; align-self: start; }
.bs-tools { grid-column: 2; grid-row: 2; }
.bs-board-scroll { min-width: 0; container-type: inline-size; }
.bs-board { --cell: clamp(64px, 5.2vw, 72px); position: relative; background: #e4f8f5; }
.bs-space {
  cursor: pointer; font: 650 clamp(.6rem, .79vw, .75rem)/1.1 system-ui, sans-serif;
  padding: 4px 3px; margin: 0; min-width: 0; min-height: 0; border-radius: 0;
  justify-content: flex-start; box-shadow: inset 0 0 0 1px #e4d7bb;
  transition: filter .16s, box-shadow .16s;
}
.bs-space:hover { filter: brightness(.93); }
.bs-space:focus-visible { z-index: 4; outline: 3px solid #176e91; outline-offset: -3px; }
.bs-space.is-inspected { z-index: 2; box-shadow: inset 0 0 0 3px #df9b46, 0 0 0 2px #684426; }
@keyframes bs-arrive { 20% { box-shadow: inset 0 0 0 6px #fcce62, 0 0 0 6px #f1b3408a; }
  100% { box-shadow: inset 0 0 0 2px #e9ad54; } }
.bs-space.is-arrival { animation: bs-arrive 1.2s ease-out; }
.bs-space-art { display: block; height: 24px; color: #866142; pointer-events: none; }
.bs-space-art .bs-art-icon { width: 24px; height: 24px; }
.bs-city .bs-space-art { color: var(--deed-ink); }
.bs-city .bs-space-art, .bs-transport .bs-space-art, .bs-utility .bs-space-art {
  display: none;
}
.bs-fund .bs-space-art { color: #467889; }
.bs-fortune .bs-space-art { color: #bf7251; }
.bs-transport .bs-space-art { color: #535e65; }
.bs-space strong { max-width: 100%; font-size: .95em; overflow-wrap: anywhere; }
.bs-space small { font-size: .79em; font-weight: 750; }
.bs-square-number { font-size: .6rem; }
.bs-owner { font-size: .75em; line-height: 1.05; padding: 2px; }
.bs-token { width: 23px; height: 23px; }
.bs-token svg { width: 16px; height: 16px; }
.bs-tokens { top: 3px; right: 2px; gap: 1px; }
.bs-center {
  position: relative; isolation: isolate; overflow: hidden; padding: 32px;
  background: #efe2c1; color: #302e2c;
}
.bs-center::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: url("../assets/business/cityscape.svg") center bottom / cover no-repeat;
}
.bs-center-crest {
  padding: clamp(12px, 3vw, 34px) clamp(18px, 4vw, 50px);
  border: 2px solid #ffc24b; outline: 1px solid #ffffff;
  outline-offset: -8px; border-radius: 10px; background: #fffff7ed;
  box-shadow: 0 16px 28px #1c343989; transform: rotate(-2deg);
}
.bs-center-crest .bs-eyebrow { color: #704727; }
.bs-center-crest strong { display: block; font-size: clamp(3rem, 5.2vw, 5.5rem); color: #15539b; }
.bs-center-crest p { margin: 8px 0 0; font-size: clamp(.95rem, 1.8vw, 1.3rem); }
.bs-bank-stock {
  display: block; margin-top: 32px; padding: 6px 14px; background: #153640d9;
  border-radius: 40px; color: #ffe8ba; font-weight: 800;
}
.bs-priority, .bs-tools { gap: 9px; }
.bs-priority section, .bs-tools details { padding: 13px; }
.bs-priority .bs-actions {
  border-top: 3px solid var(--accent);
  box-shadow: 0 7px 19px #24383f1d;
}
.bs-actions h4 { font-size: 1.3rem; margin: 0 0 4px; overflow-wrap: anywhere; }
.bs-actions p { margin: 4px 0; line-height: 1.45; overflow-wrap: anywhere; }
.bs-actions .bs-button:not(.bs-button--quiet) { font-size: 1rem; }
.bs-roll { display: grid; justify-items: center; gap: 6px; }
.bs-roll .arcade-die-arena { box-shadow: inset 0 3px 13px #0007; }
.bs-priority .bs-inspector {
  overflow: hidden; border-top: 4px solid var(--deed-ink);
  box-shadow: 0 5px 18px #20344314;
}
.bs-inspector-head {
  display: flex; gap: 9px; align-items: center; min-width: 0;
  border-bottom: 1px solid var(--bs-stroke); padding-bottom: 8px;
}
.bs-inspector-head > .bs-art-icon { width: 34px; height: 34px; color: var(--deed-ink); }
.bs-inspector-head div { min-width: 0; }
.bs-inspector-head h4 {
  font-family: var(--game-ui-heading); font-size: clamp(1.1rem, 2vw, 1.3rem); font-weight: 800; line-height: 1.2;
  margin: 4px 0 0; overflow-wrap: anywhere;
}
.bs-inspector .bs-eyebrow { font-size: .61rem; color: var(--bs-muted); }
.bs-deed-facts { display: flex; flex-wrap: wrap; gap: 5px 12px; justify-content: space-between;
  padding: 8px 0; font-size: .87rem; }
.bs-deed-hint { color: var(--bs-muted); font-style: italic; }
.bs-inspector p { margin: 7px 0; line-height: 1.43; font-size: .87rem; }
.bs-inspector-owner { font-weight: 800; }
.bs-deed-scene { margin: 10px 0 3px; overflow: hidden; border: 1px solid var(--bs-stroke); border-radius: 10px; background: #dff5ff; }
.bs-deed-scene svg { display: block; width: 100%; max-height: 142px; }
.bs-rent-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 5px; margin: 10px 0;
}
.bs-rent-grid > div { min-width: 0; display: flex; flex-wrap: wrap; gap: 2px 7px;
  justify-content: space-between; padding: 5px 7px; border-radius: 5px;
  border: 1px solid var(--bs-stroke); background: var(--bs-sheen); }
.bs-rent-grid > .is-live { border-color: var(--deed-ink); box-shadow: inset 3px 0 var(--deed-ink); }
.bs-rent-grid dt { color: var(--bs-muted); font-size: .75rem; }
.bs-rent-grid dd { margin: 0; font-weight: 800; font-size: .8rem; }
.bs-inspector-nav { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.bs-inspector-nav .bs-button { flex: 1 1 105px; font-size: .77rem; padding: 5px 8px; }
.bs-compact-tiers { font-weight: 700; }
.bs-entry { width: min(650px, 100%); background: var(--game-ui-panel); color: var(--bs-ink); border: 1px solid var(--bs-stroke); }
.bs-entry h3 { font-weight: 900; letter-spacing: -.04em; overflow-wrap: anywhere; }
.bs-entry .bs-eyebrow { color: var(--bs-muted); }
.bs-entry details { padding: 8px; border: 1px solid #ffe2a25e; border-radius: 8px; }
.bs-task { display: grid; gap: 10px; }
.bs-task > section { padding: 0; border: 0; background: none; box-shadow: none; }
.bs-task > .bs-actions { border: 0; box-shadow: none; }
.bs-task h4 { margin: 0; font-size: 1.15rem; }
.bs-task p { margin: 4px 0; line-height: 1.5; }
.bs-task .bs-eyebrow { color: var(--bs-muted); }
.bs-task .bs-inspector { border: 0; box-shadow: none; }
.bs-task .bs-trade { display: grid; gap: 10px; }
.bs-task input, .bs-task select { font: inherit; }
.bs-task [hidden] { display: none; }
.bs-steps {
  list-style: none; margin: 0; padding: 0; display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px;
}
.bs-steps li {
  padding: 10px 4px; border-radius: 9px; border: 1px solid var(--bs-stroke);
  color: var(--bs-muted); background: var(--bs-panel); text-align: center;
  font-size: .8rem; font-weight: 700;
}
.bs-steps [aria-current] {
  color: var(--game-ui-primary-ink); background: var(--game-ui-primary);
  border-color: var(--game-ui-primary);
}
.bs-steps .is-done { border-bottom: 3px solid var(--accent); }
.bs-task h4:focus-visible { outline: 3px solid var(--game-ui-focus); outline-offset: 3px; }
.bs-top > .bs-button { min-height: 44px; font-size: .8rem; padding: 7px 12px; }
.bs-task .bs-portfolio > button { border-left: 4px solid var(--deed-ink); }
.bs-standings { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin: 8px 0; }
.bs-standings dt { min-width: 0; overflow-wrap: anywhere; }
.bs-standings dd { margin: 0; font-weight: 800; }
.bs-space:disabled { cursor: default; }
@media (min-width: 1280px) {
  .bs-board { --cell: calc(100cqw / 11); }
}
@media (max-width: 1080px) {
  .bs-layout { display: flex; flex-direction: column; gap: 10px; }
  .bs-priority, .bs-tools { width: 100%; }
  .bs-board { --cell: 78px; }
  .bs-board-scroll { align-self: stretch; max-height: min(520px, 63vh); }
}
@media (max-width: 540px) {
  .bs-table { padding: 7px; display: flex; flex-direction: column; gap: 7px; }
  .bs-layout { display: contents; }
  .bs-priority { order: 2; display: grid; width: 100%; }
  .bs-top { order: 0; }
  .bs-handoff { order: 1; }
  .bs-actions { order: 2; }
  .bs-seats { order: 3; }
  .bs-board-scroll { order: 4; width: 100%; }
  .bs-tools { order: 6; }
  .bs-top { padding: 11px 12px; }
  .bs-top h3 { font-size: 1.15rem; margin: 4px 0; }
  .bs-top p { margin: 4px 0; }
  .bs-handoff { padding: 10px 12px; margin: 7px 0; }
  .bs-handoff h3 { margin: 2px 0; }
  .bs-handoff p { font-size: .85rem; }
  .bs-handoff .bs-button { width: 100%; }
  .bs-seats { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 6px 0; }
  .bs-seat { padding: 5px 6px; font-size: .82rem; grid-template-columns: 26px minmax(0, 1fr); gap: 0 5px; }
  .bs-seat-piece { width: 26px; height: 26px; }
  .bs-seat-piece svg { width: 15px; height: 15px; }
  .bs-board { --cell: 74px; }
  .bs-board-scroll { max-height: 320px; border-width: 5px; }
  .bs-space { font-size: .62rem; }
  .bs-space-art { height: 19px; }
  .bs-space-art .bs-art-icon { width: 18px; height: 18px; }
  .bs-center-crest strong { font-size: 3rem; }
  .bs-priority .bs-task { padding: 12px; }
  .bs-task > section { padding: 0; }
  .bs-actions { gap: 7px; }
  .bs-actions h4 { font-size: 1.1rem; }
  .bs-roll .arcade-die-arena { height: 86px; }
  .bs-rent-grid > div { padding: 3px 5px; }
}
@media (max-width: 350px) {
  .bs-shell .game-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
  .bs-shell .game-head-center { grid-column: 1 / -1; grid-row: 1; }
  .bs-shell .back-btn { grid-column: 1; grid-row: 2; }
  .bs-shell .reset-btn { grid-column: 2; grid-row: 2; }
  .bs-top h3 { font-size: 1.3rem; }
  .bs-current-spot { border-radius: 10px; }
  .bs-seat-piece { display: none; }
  .bs-seat { grid-template-columns: minmax(0,1fr); }
  .bs-seat small { grid-column: 1; }
  .bs-rent-grid { grid-template-columns: 1fr; }
}
