/* Dedicated mobile 101 opened-stone viewport. The window stays put; its canvas pans. */
@media (max-width: 700px) and (orientation: portrait) {
  #root main.gameScreen.yuzbirGame .yuzbirMeldBoard {
    box-sizing: border-box !important;
    display: block !important;
    position: absolute !important;
    top: 10.7% !important;
    left: 17% !important;
    width: 66% !important;
    height: 48% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: auto !important;
    overflow-y: auto !important;
    touch-action: pan-x pan-y !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
    scrollbar-color: #e3c073 #0b3529 !important;
    border: 2px solid #d4aa4e !important;
    border-radius: 16px !important;
    background: #073b2e !important;
    z-index: 5 !important;
  }
  #root main.gameScreen.yuzbirGame .yuzbirMeldBoard:before {
    content: "AÇILAN TAŞLAR  ·  HER YÖNE KAYDIR" !important;
    box-sizing: border-box !important;
    display: block !important;
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 10 !important;
    width: 100% !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 7px 10px !important;
    color: #ffe3a2 !important;
    background: #06372c !important;
    border-bottom: 1px solid #d4aa4e !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .03em !important;
    white-space: nowrap !important;
  }
  #root main.gameScreen.yuzbirGame .meldPanCanvas {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(2, 292px) !important;
    grid-auto-rows: minmax(220px, max-content) !important;
    align-content: start !important;
    align-items: start !important;
    gap: 16px !important;
    width: 632px !important;
    min-width: 632px !important;
    min-height: 740px !important;
    margin: 0 !important;
    padding: 16px !important;
    background: linear-gradient(90deg, #ffffff07 1px, transparent 1px),
                linear-gradient(#ffffff07 1px, transparent 1px), #063a2e !important;
    background-size: 32px 32px !important;
  }
  #root main.gameScreen.yuzbirGame .meldPanCanvas .yuzbirMeldLane {
    box-sizing: border-box !important;
    width: 292px !important;
    min-width: 292px !important;
    max-width: 292px !important;
    min-height: 165px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 8px !important;
    overflow: visible !important;
    background: #0b3028 !important;
    border: 1px solid #b49a5c !important;
    border-radius: 10px !important;
  }
  #root main.gameScreen.yuzbirGame .meldPanCanvas .yuzbirMeldGroups {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 5px !important;
    width: 100% !important;
    overflow: visible !important;
    touch-action: pan-x pan-y !important;
  }
  #root main.gameScreen.yuzbirGame .meldPanCanvas .yuzbirMeldGroup {
    display: flex !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
  }
  #root main.gameScreen.yuzbirGame .meldPanCanvas .imageTile.okeyTile.compact {
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    height: 28px !important;
    max-height: 28px !important;
  }
  #root main.gameScreen.yuzbirGame .meldPanCanvas .yuzbirMeldBoardEmpty {
    grid-column: 1 / -1 !important;
    width: 292px !important;
    min-height: 160px !important;
    margin: 0 !important;
    padding: 18px !important;
  }
}

/* Keep the empty state in the visible part of the pan window. */
@media (max-width: 700px) and (orientation: portrait) {
  #root main.gameScreen.yuzbirGame .yuzbirMeldBoard { scrollbar-width: none !important; }
  #root main.gameScreen.yuzbirGame .yuzbirMeldBoard::-webkit-scrollbar { display: none !important; }
  #root main.gameScreen.yuzbirGame .meldPanCanvas .yuzbirMeldBoardEmpty {
    box-sizing: border-box !important;
    grid-column: 1 / -1 !important;
    justify-self: start !important;
    width: 400px !important;
    max-width: 400px !important;
    min-height: 180px !important;
    margin: 30px 0 0 0 !important;
    white-space: normal !important;
  }
  #root main.gameScreen.yuzbirGame .meldPanCanvas .yuzbirMeldBoardEmpty b {
    font-size: 16px !important;
    letter-spacing: .06em !important;
    white-space: normal !important;
  }
  #root main.gameScreen.yuzbirGame .meldPanCanvas .yuzbirMeldBoardEmpty span {
    font-size: 11px !important;
    white-space: normal !important;
  }
}

/* Bot discard spots stay visible between the side seats and the lower controls. */
@media (max-width: 700px) and (orientation: portrait) {
  #root main.gameScreen.yuzbirGame .discardSpot.discard-1 {
    top: 48% !important; left: 5.128% !important; right: auto !important; bottom: auto !important;
    width: 8.205% !important; height: 6.043% !important; transform: none !important; z-index: 35 !important;
  }
  #root main.gameScreen.yuzbirGame .discardSpot.discard-3 {
    top: 48% !important; left: 85.128% !important; right: auto !important; bottom: auto !important;
    width: 8.205% !important; height: 6.043% !important; transform: none !important; z-index: 35 !important;
  }
}

@media (max-width: 700px) and (orientation: portrait) {
  #root main.gameScreen.yuzbirGame .tileRackGrid,
  #root main.gameScreen.yuzbirGame .tileRackGrid .rackSlot,
  #root main.gameScreen.yuzbirGame .tileRackGrid .okeyTile { touch-action: none !important; }
  #root main.gameScreen.yuzbirGame .discardSpot .discardOwner {
    position: absolute !important; z-index: 3 !important; left: 50% !important; bottom: calc(100% + 3px) !important;
    transform: translateX(-50%) !important; white-space: nowrap !important; pointer-events: none !important;
    color: #fff3c8 !important; background: #092d26ed !important; border: 1px solid #b9944d !important;
    border-radius: 5px !important; padding: 2px 4px !important; font-size: 9px !important; font-weight: 800 !important;
  }
  #root main.gameScreen.yuzbirGame .discardSpot .discardOwner:after { content: " ATTI"; }
  #root main.gameScreen.yuzbirGame .discard-2 .discardOwner { bottom: auto !important; top: calc(100% + 3px) !important; }
}

/* Every bot discards immediately to the right of its own seat. */
@media (max-width: 700px) and (orientation: portrait) {
  #root main.gameScreen.yuzbirGame .discardSpot.discard-1 {
    inset: 35% auto auto 12% !important; width: 6.5% !important; height: 6.1% !important;
    transform: none !important; z-index: 36 !important;
  }
  #root main.gameScreen.yuzbirGame .discardSpot.discard-3 {
    inset: 35% auto auto 93% !important; width: 6.5% !important; height: 6.1% !important;
    transform: none !important; z-index: 36 !important;
  }
  #root main.gameScreen.yuzbirGame .discard-3 .discardOwner { left: auto !important; right: 0 !important; transform: none !important; }
  #root main.gameScreen.yuzbirGame .discard-2 .discardOwner { left: auto !important; right: 0 !important; transform: none !important; }
}

@media (max-width: 700px) and (orientation: portrait) {
  #root main.gameScreen.yuzbirGame .discardSpot.discard-1 { left: 15.2% !important; }
  #root main.gameScreen.yuzbirGame .discardSpot.discard-2 {
    inset: 9.95% auto auto 84.1% !important; width: 8.2% !important; height: 6.05% !important;
    z-index: 36 !important; transform: none !important;
  }
  #root main.gameScreen.yuzbirGame .discardSpot.discard-1,
  #root main.gameScreen.yuzbirGame .discardSpot.discard-2,
  #root main.gameScreen.yuzbirGame .discardSpot.discard-3 {
    border: 2px solid #d7ad5c !important; background: #092d26 !important;
    box-shadow: 0 0 0 3px #092d2699 !important;
  }
}

@media (max-width: 700px) and (orientation: portrait) {
  #root main.gameScreen.yuzbirGame .discardSpot.discard-0 {
    inset: 55% auto auto 85% !important; width: 8.2% !important; height: 6.05% !important;
    transform: none !important; z-index: 36 !important;
    border: 2px solid #d7ad5c !important; background: #092d26 !important;
    box-shadow: 0 0 0 3px #092d2699 !important;
  }
  #root main.gameScreen.yuzbirGame .discard-0 .discardOwner { left: auto !important; right: 0 !important; transform: none !important; }
  #root main.gameScreen.yuzbirGame .discard-0 .discardOwner:after { content: " ATTIN" !important; }
}

/* Open order: first top-left, second below, third top-right, fourth below. */
@media (max-width: 700px) and (orientation: portrait) {
  #root main.gameScreen.yuzbirGame .meldPanCanvas {
    grid-template-columns: repeat(2, 292px) !important;
    grid-template-rows: repeat(2, minmax(320px, max-content)) !important;
    grid-auto-flow: row !important; gap: 18px 16px !important;
  }
  #root main.gameScreen.yuzbirGame .meldPanCanvas .yuzbirMeldLane {
    position: relative !important; width: 292px !important; min-height: 0 !important;
    padding: 4px !important; border: 0 !important; border-radius: 0 !important;
    background: transparent !important; box-shadow: none !important;
  }
  #root main.gameScreen.yuzbirGame .meldPanCanvas .yuzbirMeldLane:nth-child(1) { grid-column: 1 !important; grid-row: 1 !important; }
  #root main.gameScreen.yuzbirGame .meldPanCanvas .yuzbirMeldLane:nth-child(2) { grid-column: 1 !important; grid-row: 2 !important; }
  #root main.gameScreen.yuzbirGame .meldPanCanvas .yuzbirMeldLane:nth-child(3) { grid-column: 2 !important; grid-row: 1 !important; }
  #root main.gameScreen.yuzbirGame .meldPanCanvas .yuzbirMeldLane:nth-child(4) { grid-column: 2 !important; grid-row: 2 !important; }
  #root main.gameScreen.yuzbirGame .meldPanCanvas .yuzbirMeldLaneHead { display: none !important; }
  #root main.gameScreen.yuzbirGame .meldPanCanvas .yuzbirMeldGroup {
    background: transparent !important; border: 0 !important; border-radius: 0 !important;
    padding: 1px !important; box-shadow: none !important;
  }
  #root main.gameScreen.yuzbirGame .meldPanCanvas .yuzbirMeldGroup.canLayoff {
    background: #1a7e5c38 !important; outline: 2px solid #48e3b1c7 !important;
  }
}

@media (max-width: 700px) and (orientation: portrait) {
  #root main.gameScreen.yuzbirGame .meldPanCanvas {
    grid-template-rows: repeat(2, minmax(180px, max-content)) !important;
  }
}
