/* Original vector tabletop, isolated from input and private game state. */
:root{
  --dmc-felt:#193b36;--dmc-felt-deep:#102824;
  --dmc-brass:#e4b869;--dmc-walnut:#8a4c2c;--dmc-ivory:#fff1d2;
  --dmc-cyan:#87e7db;
}
.ui-section.chest-center{
  background:radial-gradient(ellipse at 50% 42%,#316258 0%,#1a433e 44%,#102c29 100%);
  border:2px solid #89683e;
  box-shadow:inset 0 0 0 3px #24453b,inset 0 0 44px #071b18b8,0 2px 5px #071b18;
}
.chest-center>.chest-challenge{z-index:9}
.chest-center::before{
  content:"";position:absolute;inset:14px;border:1px solid #9d81454d;
  border-radius:8px;pointer-events:none;
}
.chest-center .ui-section-body{
  position:relative;z-index:1;
  grid-template-rows:minmax(34px,1fr) 20px minmax(140px,200px) minmax(36px,1fr);
}
.chest-claim{color:var(--dmc-ivory);text-shadow:0 3px 3px #081d19}
.chest-state{color:#edcf91;text-shadow:0 1px #11211a}
.dice-stage{position:relative;height:100%;max-height:200px;isolation:isolate}
.dice-stage .chest-art{
  position:relative;width:min(420px,100%);height:100%;margin:auto;
  pointer-events:none;user-select:none;transform-origin:50% 75%;
  filter:drop-shadow(0 3px 4px #06130e77);
}
.chest-layer{position:absolute;inset:0;background-size:100% 100%;background-repeat:no-repeat;pointer-events:none}
.chest-shadow{background-image:url('/art/chest-shadow.svg');z-index:0}
.chest-lid{background-image:url('/art/chest-lid.svg');z-index:1;transform-origin:50% 48%}
.chest-body{background-image:url('/art/chest-body.svg');z-index:2}
.chest-latch{background-image:url('/art/chest-latch.svg');z-index:3}
.dice-stage .chest-art.is-open .chest-lid{
  transform:translateY(-36%) scaleY(.8);
}
.dice-stage .chest-art.is-open .chest-latch{opacity:0}
.dice-stage .dice-pair{
  position:absolute;z-index:4;left:50%;top:46%;
  transform:translate(-50%,-50%);
  height:auto;min-height:0;display:flex;gap:clamp(10px,2vw,24px);
  pointer-events:none;
}
.dice-stage .dice-pair:empty{display:none}
.dice-stage .dice-pair .d6-face{
  width:clamp(72px,7vw,90px);background:linear-gradient(130deg,#fff9e8,#dcd4b9);
  box-shadow:inset -4px -5px 0 #b9ad91,0 5px 0 #665743,0 10px 13px #050d0b8a;
}
.gem-count{display:flex;align-items:center;justify-content:flex-end;gap:5px;letter-spacing:0}
.gem-tokens{display:flex;align-items:center;padding-left:4px}
.gem-token{
  display:block;flex:0 0 28px;width:28px;height:28px;
  background:url('/art/gem.svg') center/contain no-repeat;
  filter:drop-shadow(0 2px 1px #071b16);
}
.gem-token+.gem-token{margin-left:-7px}
.gem-number{font-size:16px;font-weight:800;color:#e6e5ce}
.seat.acting .gem-token{filter:drop-shadow(0 0 3px #b1faf1)}
.seat.is-winner{border-color:var(--dmc-brass);box-shadow:inset 0 0 0 2px #e4b869}
.seat.is-winner .seat-role{color:var(--dmc-brass)}
@media(max-height:840px){
  .chest-center .ui-section-body{grid-template-rows:minmax(32px,1fr) 19px minmax(130px,180px) minmax(33px,1fr)}
}
@media(prefers-reduced-motion:reduce){
  .chest-layer,.chest-art,.gem-token,.dice-stage .d6-face{animation:none!important;transition:none!important}
}
