.desk-body .nav button.navb {
  background: none; border: 0; color: var(--muted); font: inherit; cursor: pointer;
}
.desk-body .nav button.navb.on, .desk-body .nav button.navb:hover { color: var(--ink); }
.stack { display: flex; flex-wrap: wrap; gap: .45rem; margin: .8rem 0 1rem; }
.side input {
  width: 100%; background: var(--bg2); border: 1px solid var(--line); color: var(--ink);
  padding: .5rem .6rem; margin: .35rem 0 .7rem; font-family: "IBM Plex Mono", monospace;
}
.fine { color: var(--muted); font-size: .75rem; line-height: 1.45; margin-top: 1rem; }
.muted { color: var(--muted); font-size: .78rem; }
.table {
  min-height: 420px; border: 1px solid var(--line); background:
    radial-gradient(800px 280px at 50% 20%, rgba(196,165,116,.12), transparent 55%),
    linear-gradient(180deg, #10140f, #0a0c09);
  border-radius: 18px; padding: 1.6rem; position: relative;
}
.hand-label { font-family: "IBM Plex Mono", monospace; font-size: .7rem; letter-spacing: .14em; color: var(--muted); }
.cards-row { display: flex; gap: .55rem; min-height: 118px; margin: .5rem 0 1.4rem; flex-wrap: wrap; }
.pcard {
  width: 78px; height: 110px; border-radius: 8px; background: #f4efe4; color: #1a120c;
  display: flex; flex-direction: column; justify-content: space-between; padding: .4rem .45rem;
  font-family: "Instrument Serif", serif; font-size: 1.35rem; box-shadow: 0 10px 24px rgba(0,0,0,.35);
}
.pcard.red { color: #9b2c2c; }
.pcard.back { background: repeating-linear-gradient(45deg, #2a2118, #2a2118 6px, #3a3126 6px, #3a3126 12px); color: transparent; }
.actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.chips { display: flex; gap: .4rem; flex-wrap: wrap; margin: 1rem 0; }
.chip {
  width: 52px; height: 52px; border-radius: 50%; border: 3px dashed var(--accent);
  background: #1a160f; color: var(--ink); font-family: "IBM Plex Mono", monospace; font-size: .72rem; cursor: pointer;
}
.salon { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 320px); gap: 1rem; max-width: 100%; }
.wheel-stage {
  position: relative; min-height: min(72vw, 520px); height: min(68vh, 560px);
  border-radius: 18px; overflow: hidden;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(196,165,116,.16), transparent 50%),
    linear-gradient(180deg, #1a120c 0%, #0a0806 100%);
  border: 1px solid rgba(196,165,116,.28);
  box-shadow: inset 0 0 80px rgba(0,0,0,.55), 0 18px 50px rgba(0,0,0,.4);
}
.wheel-stage canvas { display: block; width: 100% !important; height: 100% !important; }
.spin-readout {
  position: absolute; left: 1rem; bottom: 1rem; font-family: "Instrument Serif", serif;
  font-size: 2.6rem; color: #e8e0cc; text-shadow: 0 8px 24px #000;
}
.wheel {
  width: 220px; height: 220px; border-radius: 50%;
  background: conic-gradient(#1a1a1a 0 9.7deg, #7a1820 0 19.4deg, #1a1a1a 0 29.1deg, #7a1820 0 38.8deg, #1a1a1a 0 48.5deg, #7a1820 0 58.2deg, #1a1a1a 0 67.9deg, #7a1820 0 77.6deg, #1a1a1a 0 87.3deg, #c4a574 0 97deg, #1a1a1a 0 106.7deg, #7a1820 0 116.4deg, #1a1a1a 0 126.1deg, #7a1820 0 135.8deg, #1a1a1a 0 145.5deg, #7a1820 0 155.2deg, #1a1a1a 0 164.9deg, #7a1820 0 174.6deg, #1a1a1a 0 184.3deg, #7a1820 0 194deg, #1a1a1a 0 203.7deg, #7a1820 0 213.4deg, #1a1a1a 0 223.1deg, #7a1820 0 232.8deg, #1a1a1a 0 242.5deg, #7a1820 0 252.2deg, #1a1a1a 0 261.9deg, #7a1820 0 271.6deg, #1a1a1a 0 281.3deg, #7a1820 0 291deg, #1a1a1a 0 300.7deg, #7a1820 0 310.4deg, #1a1a1a 0 320.1deg, #7a1820 0 329.8deg, #1a1a1a 0 339.5deg, #7a1820 0 349.2deg, #1a1a1a 0 360deg);
  border: 8px solid #c4a574; box-shadow: inset 0 0 0 18px #0b0b0b;
}
.num-big { font-family: "Instrument Serif", serif; font-size: 4rem; }
.felt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(2.1rem, 1fr)); gap: 3px; max-width: 100%; }
.felt-grid button {
  background: #14301c; color: #e8e4d9; border: 1px solid rgba(255,255,255,.08);
  padding: .45rem 0; font-size: .68rem; cursor: pointer; font-family: "IBM Plex Mono", monospace;
  min-width: 0;
}
.felt-grid button.red { background: #6b1c22; }
.felt-grid button.on { outline: 2px solid var(--accent); }
#wsheet { display:none; position:fixed; inset:0; background:rgba(0,0,0,.62); z-index:60; align-items:flex-end; justify-content:center; }
#wsheet .sheet { width:100%; max-width:420px; background:#12110d; border:1px solid var(--line); border-radius:18px 18px 0 0; padding:1.2rem; display:flex; flex-direction:column; gap:.55rem; }
#toast {
  position: fixed; bottom: 1.2rem; right: 1.2rem; background: #15130e; border: 1px solid var(--line);
  padding: .7rem 1rem; display: none; z-index: 40; max-width: 22rem; font-size: .85rem;
}
.mkt table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.mkt th, .mkt td { text-align: left; padding: .7rem 0; border-bottom: 1px solid var(--line); }
.table { overflow: hidden; max-width: 100%; }
.cards-row { max-width: 100%; }
@media (max-width: 860px) {
  .wheel-wrap { grid-template-columns: 1fr; }
  .wheel { width: min(220px, 70vw); height: min(220px, 70vw); }
  .pcard { width: 58px; height: 84px; font-size: 1.05rem; }
}
