.layout-container{display:flex;flex-direction:column;height:100dvh}
.arena-top-bar{flex-shrink:0}
.footer{flex-shrink:0;position:relative;z-index:10;padding:17px 10px 16px;background:#090909;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
.base-icon{display:block;fill:currentColor}
.arena-board__canvas{height:100%;width:100%;position:absolute;inset:0}
.lobby-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;pointer-events:none;color:#b7b8b8;font:500 16px Rubik,sans-serif}
.lobby-copy__count{font-size:40px;color:#e4e5e6;line-height:1}
.board-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:37px 37px;mask-image:radial-gradient(ellipse at center,black,transparent 80%)}
.players__empty{height:179px;justify-content:flex-end;padding-bottom:0}
.players__empty-image{height:140px;width:140px;object-fit:contain}
.player-row__name{color:white;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:500 14px Rubik,sans-serif}
.player-row__sub{font-size:12px;color:#989898;margin-top:4px}
.avatar-simple{display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:#343537;color:#fff;font-weight:700;overflow:hidden}
.avatar-simple{position:relative}
.avatar-simple img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.avatar-simple img[hidden]{display:none}
.sheet-backdrop{position:absolute;inset:0;background:#000b;z-index:300;animation:fade-in .2s ease}
.sheet-wrap{position:absolute;left:0;right:0;bottom:0;z-index:301;max-height:90%;display:flex;flex-direction:column;animation:sheet-in .28s cubic-bezier(.4,0,.2,1)}
.sheet-body{overflow:auto;max-height:calc(90dvh - 80px);scrollbar-width:none}
.sheet-footer{display:flex;gap:10px;background:#090909;padding:16px 10px calc(16px + env(safe-area-inset-bottom,0px))}
.sheet-footer button{flex:1;min-width:0}
.sheet-footer{border-top:1px solid #ffffff33}
.sheet-close{position:absolute;right:10px;top:-44px;width:36px;height:36px;border-radius:50%;background:#202122;color:#fff;z-index:3}
.preset-tabs{display:flex;gap:6px;padding:4px;background:#28282880;border-radius:40px;border:1px solid #ffffff30}
.preset-tabs button{flex:1;height:36px;border-radius:36px;color:#989898;font:500 14px Rubik,sans-serif}
.preset-tabs button[aria-selected=true]{background:#fff;color:#000}
.bet-presets-modal{padding-bottom:0}
.bet-presets-modal__amount-icon{color:#fff}
.preset-error{color:#f87171;text-align:center;font:500 13px Rubik,sans-serif;padding:0 0 12px;min-height:12px}
.preset-error:empty{padding:0;min-height:0}
.bet-presets-modal__reset{margin-bottom:20px}
.sheet-wrap{max-height:calc(100% - 60px)}
.sheet-body{overflow:visible;max-height:calc(90dvh - 80px)}
.winner-modal{padding-bottom:20px}
.winner-actions{display:flex;gap:10px}
.winner-actions button{flex:1;height:40px;gap:8px;border-radius:30px;background:#28282880;color:#fff;font:500 14px Rubik,sans-serif}
.choice-tabs{display:flex;gap:4px;height:48px;background:#28282880;padding:4px;border-radius:40px;border:1px solid #ffffff24;flex-shrink:0}
.choice-tabs button{gap:6px;flex:1;min-width:0;border-radius:30px;color:#989898;font:500 14px Rubik,sans-serif}
.choice-tabs button .base-icon{width:18px;height:18px}
.choice-tabs button[aria-selected=true]{background:#fff;color:#090909}
.choice-tabs.glass-tabs{height:40px}
.choice-tabs.glass-tabs button[aria-selected=true]{background:#3b3b3b;color:#fff}
.connection-status{position:absolute;z-index:280;top:72px;left:10px;right:10px;padding:14px 18px;background:#1c1d1e;border:1px solid #ffffff24;border-radius:18px;color:#fff;font:500 14px Rubik,sans-serif;box-shadow:0 12px 32px #0008}
.connection-status button{float:right;font-weight:600}
.load-more,.proof-upload{display:flex;align-items:center;justify-content:center;width:100%;padding:16px;color:#fff;background:#202122;border-radius:24px;font:500 14px Rubik,sans-serif}
.proof-heading,.replay-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff}
.proof-heading h2,.replay-heading h2{font:500 16px Rubik,sans-serif}
.proof-heading button,.replay-heading button{width:32px;height:32px;border-radius:50%;background:#28282880;color:#fff}
.legit__field-label{display:flex;align-items:center;justify-content:space-between;gap:10px}
.legit__field-label button{width:28px;height:28px}
.legit__field-label .base-icon{width:16px;height:16px}
.legit__field-value{display:block;white-space:pre-wrap;overflow-wrap:anywhere}
.legit__check--ok .legit__check-icon{color:#12ff69}
.legit__check--bad .legit__check-icon{color:#f87171}
.replay-page{display:flex;flex-direction:column;flex:1;min-height:0}
.replay-controls{display:flex;gap:12px;align-items:center;color:#fff;padding:6px 0}
.replay-controls input{appearance:auto;-webkit-appearance:auto;flex:1;min-width:0;accent-color:#fff}
.replay-controls span{width:36px;font:500 14px Rubik,sans-serif}
.replay-controls .players__replay .base-icon{width:16px;height:16px}
.toast-retry{font:500 13px Rubik,sans-serif!important;padding:4px 8px!important;white-space:nowrap}
.spinner{display:block;width:28px;height:28px;border:3px solid #ffffff30;border-top-color:white;border-radius:50%;animation:rotate 1s linear infinite}
.arena-board{touch-action:pan-y}
.players__empty{height:auto;min-height:179px;justify-content:start}
@keyframes rotate{to{transform:rotate(360deg)}}
@media(max-width:359px){.bet-panel__btn--edit,.bet-panel__btn--chip,.bet-panel__btn--allin{min-width:0}.players__head{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.players__hash{min-width:62px;width:62px;padding:6px}.players__actions{gap:3px}.players__rooms{width:76px}.room-switcher{gap:7px}.players__game-num{font-size:12px}.player-row{column-gap:7px;padding:0 10px;grid-template-columns:12px 32px minmax(0,1fr) auto auto}.player-row__avatar{width:32px!important;height:32px!important}.arena-history-page__filter{padding:8px;gap:5px}.arena-history-page__filter-label{font-size:12px}.profile-overlay__close{padding:0 10px;gap:6px}.profile-overlay__close-text{font-size:14px}}
.toast-container{position:absolute;inset:0 10px auto;pointer-events:none;z-index:500}
.message-toast{pointer-events:auto;display:flex;align-items:center;gap:12px;margin-top:16px;padding:16px;background:linear-gradient(#121313,#212223);border:1px solid #ffffff30;border-radius:20px;color:#fff;box-shadow:0 18px 46px #0008;animation:fade-in .2s}
.message-toast button{margin-left:auto;color:#aaa;font-size:22px}
.message-toast p{font-size:14px;line-height:1.45}
button:focus-visible,a:focus-visible{outline:2px solid #78bfff;outline-offset:3px}
[hidden]{display:none!important}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@keyframes sheet-in{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
