/* Weedopolis production interaction layer.
   Rules and board coordinates stay authoritative in the existing engine. */

html{overscroll-behavior-y:none}
body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
button,a,input{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button,.mobile-game-dock a,.mobile-game-dock button{min-height:44px}

/* Make the active turn the strongest surface without hiding property tools. */
#turnSection:focus{outline:3px solid #f8dc75;outline-offset:3px}
.turn-card{scroll-margin-top:1rem}
.property-management-card{scroll-margin-top:1rem}
.players-card,.game-log-card{scroll-margin-top:1rem}
.player-name-field input,.auction-field input,.manage-actions button,.property-select-button{min-height:44px;touch-action:manipulation}

.mobile-game-dock a,
.mobile-game-dock button{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  padding:.55rem .35rem;
  border-radius:.55rem;
  text-align:center;
  text-decoration:none;
  font-size:.72rem;
  font-weight:850;
  line-height:1.05;
}
.mobile-game-dock button:not(:disabled){
  color:#082015;
  border-color:#f0dc98;
  background:linear-gradient(180deg,#f5e6aa,#cfad4f);
  box-shadow:0 6px 18px rgba(0,0,0,.22);
}
.mobile-game-dock button[data-mobile-action="turn-actions"]:not(:disabled){
  color:#f9f0d3;
  background:linear-gradient(180deg,#2f704a,#174329);
}

/* Current-space feedback is not color-only. */
.tile.current-space::after{
  content:"ACTIVE";
  position:absolute;
  right:.18rem;
  bottom:.16rem;
  z-index:4;
  padding:.12rem .22rem;
  border-radius:.25rem;
  color:#10271b;
  background:#fff3a8;
  font-size:.45rem;
  font-weight:950;
  letter-spacing:.04em;
  pointer-events:none;
}

@media(max-width:960px){
  body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  .game-rail{display:flex;flex-direction:column}
  #turnSection{order:1}
  #propertySection{order:2}
  #playersSection{order:3}
  #logSection{order:4}
  .mobile-game-dock{
    bottom:max(.45rem,env(safe-area-inset-bottom));
    padding-bottom:calc(.42rem + env(safe-area-inset-bottom));
  }
  .board-frame{scrollbar-gutter:stable both-edges}
  .asset-status-note{font-size:.76rem}
}

@media(max-width:520px){
  .game-command-bar{min-height:64px;padding:.5rem .55rem}
  .game-identity>span:last-child,.brand-kicker{display:none}
  .command-right{gap:.35rem}
  .bud-bucks-display{min-height:44px;padding:.3rem .55rem}
  .bud-bucks-display small{display:none}
  .bud-bucks-display strong{font-size:1.05rem}
  .utility-button{padding:.55rem .62rem;font-size:.74rem}
  .game-shell{padding:.45rem}
  .setup-panel,.panel{padding:.8rem}
  .mobile-game-dock{right:.35rem;left:.35rem;gap:.25rem;padding:.35rem}
  .mobile-game-dock a,.mobile-game-dock button{font-size:.66rem;padding:.5rem .2rem}
  .players-card,.game-log-card{content-visibility:auto;contain-intrinsic-size:260px}
}

@media(prefers-reduced-motion:reduce){
  button,.tile,.mobile-game-dock{transition:none!important;animation:none!important}
}

@media(forced-colors:active){
  .tile.current-space{outline:3px solid Highlight}
  .tile.current-space::after{border:1px solid ButtonText}
  .mobile-game-dock button:not(:disabled){border:2px solid ButtonText}
}


/* Weedopolis production piece readability v1.
   Presentation-only: master-board coordinates and engine state stay authoritative. */
.pending-card.deck-card{
  position:relative;
  overflow:hidden;
  display:grid;
  gap:.65rem;
  min-height:132px;
  margin:.8rem 0 1rem;
  padding:1rem;
  border:1px solid rgba(229,208,142,.48);
  border-left:1px solid rgba(229,208,142,.48);
  border-radius:1rem;
  background:
    radial-gradient(circle at 88% 10%,rgba(229,208,142,.18),transparent 8rem),
    linear-gradient(145deg,rgba(22,65,42,.96),rgba(7,25,17,.98));
  box-shadow:0 14px 34px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.025);
}
.pending-card.deck-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background:repeating-linear-gradient(115deg,transparent 0 15px,rgba(255,255,255,.025) 15px 16px);
}
.pending-card.deck-card[data-deck="high-chance"]{
  border-color:rgba(229,208,142,.62);
  background:
    radial-gradient(circle at 88% 10%,rgba(248,220,117,.24),transparent 8rem),
    linear-gradient(145deg,rgba(67,52,18,.96),rgba(24,20,9,.98));
}
.pending-card.deck-card[data-deck="community-stash"]{
  border-color:rgba(116,201,143,.55);
  background:
    radial-gradient(circle at 88% 10%,rgba(116,201,143,.2),transparent 8rem),
    linear-gradient(145deg,rgba(24,72,46,.96),rgba(7,28,18,.98));
}
.deck-card-header{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
}
.deck-card-kicker{
  color:#f5df9b;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.deck-card-number{
  display:inline-grid;
  place-items:center;
  min-width:2.2rem;
  min-height:2.2rem;
  padding:.2rem .45rem;
  border:1px solid rgba(245,223,155,.42);
  border-radius:999px;
  color:#f9f0d3;
  background:rgba(0,0,0,.22);
  font-size:.72rem;
  font-weight:950;
}
.deck-card-copy{
  position:relative;
  z-index:1;
  margin:0;
  max-width:34ch;
  color:#fff8df;
  font-size:clamp(1rem,2vw,1.15rem);
  font-weight:780;
  line-height:1.45;
}
.board-frame .player-token{
  min-width:1.38rem;
  width:1.38rem;
  height:1.38rem;
  font-size:.9rem;
  border-width:2px;
  box-shadow:0 2px 9px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.35);
}
.board-frame .upgrade-badge{
  min-height:1.1rem;
  align-items:center;
  padding:.16rem .32rem;
  font-size:.62rem;
  font-weight:950;
  box-shadow:0 2px 7px rgba(0,0,0,.28);
}
.board-frame .owner-badge{
  min-height:1.05rem;
  display:inline-flex;
  align-items:center;
  max-width:100%;
  font-size:.6rem;
  font-weight:850;
}
.selected-property-summary,
.property-card.selected{
  border-color:rgba(229,208,142,.52)!important;
  background:linear-gradient(145deg,rgba(229,208,142,.1),rgba(255,255,255,.035))!important;
  box-shadow:inset 0 0 0 1px rgba(229,208,142,.06);
}
.player-card.current{
  box-shadow:inset 4px 0 0 var(--gold),0 9px 24px rgba(0,0,0,.16);
}
@media(max-width:720px){
  .pending-card.deck-card{min-height:116px;padding:.85rem}
  .deck-card-copy{font-size:1rem}
  .board-frame .player-token{min-width:1.5rem;width:1.5rem;height:1.5rem;font-size:.95rem}
  .board-frame .upgrade-badge{font-size:.66rem}
}
@media(prefers-reduced-motion:reduce){
  .pending-card.deck-card,.board-frame .player-token,.board-frame .upgrade-badge{transition:none!important;animation:none!important}
}
@media(forced-colors:active){
  .pending-card.deck-card,.selected-property-summary,.property-card.selected{border:2px solid CanvasText!important;background:Canvas!important}
  .deck-card-kicker,.deck-card-number,.deck-card-copy{color:CanvasText!important}
  .board-frame .player-token,.board-frame .upgrade-badge,.board-frame .owner-badge{border:2px solid CanvasText!important}
}
