 .cw-chat-drawer-toggle {
  display: none;
}

@media (max-width: 520px) and (orientation: portrait) {
  .cw-runtime-body {
    height: auto;
    min-height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    align-items: flex-start;
  }

  .cw-ui-runtime {
    min-height: 100dvh;
    padding: 4px 0 64px;
    overflow-x: hidden;
    overflow-y: visible;
  }

  .cw-layout {
    position: relative;
    gap: 5px;
    min-height: 0;
  }

  .cw-run-column {
    width: 100vw;
    overflow: visible;
  }

  .cw-run-shell,
  .cw-stage-frame {
    width: min(132vw, 568px);
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  .cw-stage-frame,
  .cw-stage-frame canvas#c {
    border-radius: 12px;
  }

  .cw-results-column,
  .cw-results-column--right {
    position: absolute;
    top: 10px;
    width: 42px;
    height: min(316px, calc((min(132vw, 568px) * 0.5625) - 12px));
    min-height: 0;
    padding: 0;
    z-index: 35;
    pointer-events: none;
  }

  .cw-results-column--left {
    left: 4px !important;
  }

  .cw-results-column--right {
    right: 4px !important;
    left: auto !important;
  }

  .cw-results-strip {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 2px;
    overflow: hidden;
    padding: 0;
  }

  .cw-result-slip {
    width: 40px;
    height: 29px;
  }

  .cw-result-slip__value {
    top: 0;
    font-size: 10px;
  }

  .cw-bet-dock {
    gap: 5px;
    margin-top: 5px;
  }

  .cw-left-column {
    gap: 5px;
    width: min(100vw - 8px, 410px);
    margin: 0 auto;
    z-index: 300;
  }

  .cw-balance-shell {
    width: min(100%, 390px);
    height: 98px;
  }

  .cw-balance-header {
    left: 26px;
    top: 9px;
    font-size: 18px;
  }

  .cw-player-name {
    left: 27px;
    top: 31px;
    max-width: 170px;
    font-size: 11px;
  }

  .cw-quit-button {
    right: 22px;
    top: 9px;
    min-width: 66px;
    height: 26px;
  }

  .cw-balance-value {
    transform: translateY(-30px) scale(0.74);
    transform-origin: center;
  }

  .cw-chat-shell {
    position: fixed;
    left: 0;
    top: 82px;
    width: min(382px, calc(100vw - 44px));
    height: min(440px, calc(100dvh - 112px));
    z-index: 295;
    margin: 0;
    transform: translateX(calc(-100% + 22px));
    transition: transform 180ms ease;
    box-shadow: 18px 0 34px rgba(0, 0, 0, 0.36);
  }

  .cw-chat-list {
    height: calc(100% - 98px);
  }

  .cw-chat-drawer-open .cw-chat-shell {
    transform: translateX(0);
  }

  .cw-chat-drawer-toggle {
    position: fixed;
    left: 0;
    top: 128px;
    z-index: 310;
    width: 38px;
    height: 96px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(242, 203, 121, 0.44);
    border-left: 0;
    border-radius: 0 10px 10px 0;
    background: linear-gradient(180deg, rgba(35, 25, 16, 0.96), rgba(10, 12, 16, 0.96));
    color: #f5d68c;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.36);
    cursor: pointer;
  }

  .cw-chat-drawer-toggle span {
    display: block;
    transform: rotate(-90deg);
    font: 900 13px/1 "Rajdhani", sans-serif;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .cw-chat-drawer-open .cw-chat-drawer-toggle {
    left: min(382px, calc(100vw - 44px));
    transform: translateX(-2px);
  }

  .cw-floating-controls {
    position: fixed;
    left: 50%;
    top: max(8px, env(safe-area-inset-top));
    right: auto;
    bottom: auto;
    transform: translateX(-50%);
    z-index: 120;
    gap: 6px;
    margin: 0;
    padding: 4px;
    border-radius: 14px;
    background: rgba(5, 8, 12, 0.66);
    backdrop-filter: blur(8px);
  }

  .cw-settings-toggle,
  .cw-hud-toggle,
  .cw-sound-toggle,
  .cw-hud-restore {
    width: 46px;
    height: 46px;
  }
}

@media (max-width: 1180px) and (orientation: landscape) {
  .cw-runtime-body {
    height: 100dvh;
    overflow: hidden;
  }

  .cw-ui-runtime {
    height: 100dvh;
    min-height: 100dvh;
    padding: 6px;
    overflow: hidden;
  }

  .cw-layout {
    position: relative;
    display: block;
    height: calc(100dvh - 12px);
    min-height: 0;
  }

  .cw-run-column {
    width: calc(100vw - 335px);
    height: 100%;
    overflow: hidden;
  }

  .cw-run-shell,
  .cw-stage-frame {
    width: calc(100vw - 335px);
    height: auto;
    max-height: calc(100dvh - 12px);
  }

  .cw-bet-dock {
    position: fixed;
    right: 6px;
    top: 6px;
    width: 317px;
    height: 178px;
    margin: 0;
    gap: 4px;
  }

  .cw-bet-card {
    zoom: 0.365;
  }

  .cw-left-column {
    position: fixed;
    right: 6px;
    top: 186px;
    width: 317px;
    margin: 0;
    gap: 4px;
    z-index: 300;
  }

  .cw-chat-shell {
    position: fixed;
    left: 0;
    top: 76px;
    width: min(360px, calc(100vw - 46px));
    height: calc(100dvh - 88px);
    z-index: 295;
    margin: 0;
    transform: translateX(calc(-100% + 22px));
    transition: transform 180ms ease;
    box-shadow: 18px 0 34px rgba(0, 0, 0, 0.36);
  }

  .cw-chat-list {
    height: calc(100% - 98px);
  }

  .cw-chat-drawer-open .cw-chat-shell {
    transform: translateX(0);
  }

  .cw-chat-drawer-toggle {
    position: fixed;
    left: 0;
    top: 128px;
    z-index: 310;
    width: 38px;
    height: 96px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(242, 203, 121, 0.44);
    border-left: 0;
    border-radius: 0 10px 10px 0;
    background: linear-gradient(180deg, rgba(35, 25, 16, 0.96), rgba(10, 12, 16, 0.96));
    color: #f5d68c;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.36);
    cursor: pointer;
  }

  .cw-chat-drawer-toggle span {
    display: block;
    transform: rotate(-90deg);
    font: 900 13px/1 "Rajdhani", sans-serif;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .cw-chat-drawer-open .cw-chat-drawer-toggle {
    left: min(360px, calc(100vw - 46px));
    transform: translateX(-2px);
  }

  .cw-balance-shell {
    height: 106px;
  }

  .cw-balance-value {
    transform: translateY(-30px) scale(0.70);
  }

  .cw-balance-value > * {
    display: none !important;
  }

  .cw-balance-value::after {
    content: attr(data-balance-text);
    position: absolute;
    left: 44px;
    top: 76px;
    color: #fff0ca;
    font: 900 26px/1 "Rajdhani", sans-serif;
    letter-spacing: 0.02em;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.55);
  }

  .cw-balance-header {
    top: 10px;
    font-size: 18px;
  }

  .cw-player-name {
    top: 32px;
    font-size: 11px;
  }

  .cw-quit-button {
    top: 10px;
    height: 26px;
    min-width: 66px;
    font-size: 11px;
  }

  .cw-results-column,
  .cw-results-column--right {
    position: absolute;
    top: 10px;
    width: 44px;
    height: calc(100dvh - 24px);
    min-height: 0;
    z-index: 35;
    pointer-events: none;
  }

  .cw-results-column--left {
    left: 10px !important;
  }

  .cw-results-column--right {
    left: calc(100vw - 389px) !important;
  }

  .cw-results-strip {
    flex-direction: column;
    gap: 3px;
    overflow: hidden;
  }

  .cw-result-slip {
    width: 42px;
    height: 31px;
  }

  .cw-floating-controls {
    position: fixed;
    left: calc((100vw - 335px) / 2);
    top: max(2px, env(safe-area-inset-top));
    right: auto;
    bottom: auto;
    transform: translateX(-50%) scale(0.58);
    transform-origin: top center;
    z-index: 120;
    margin: 0;
    gap: 4px;
    padding: 3px;
    opacity: 0.88;
  }

  .cw-settings-toggle,
  .cw-hud-toggle,
  .cw-sound-toggle,
  .cw-hud-restore {
    width: 38px;
    height: 38px;
  }

  .cw-chat-drawer-toggle {
    width: 30px;
    height: 78px;
    top: 150px;
  }

  .cw-chat-drawer-toggle span {
    font-size: 11px;
  }
}
