/* Final layout contract: grid tracks share available space, never percentages plus gaps. */
:root { --card:#131c2b; --border:#29364a; --modal:#141d2d; }
body { background:#090f1a; background-image:radial-gradient(ellipse at 50% 0%,#14233c 0,transparent 65%); background-attachment:scroll; }
button { transition:background-color 160ms,border-color 160ms,color 160ms; box-shadow:inset 0 1px #ffffff06; }
button:hover { box-shadow:inset 0 1px #ffffff08; }
.primary { background:linear-gradient(180deg,#387fff,#2968e4); box-shadow:inset 0 1px #ffffff22; }
.topbar { background:#0b1220; border-bottom-color:#253149; }
.logo,.duelHeader .logo,.topbar>.logo { background:transparent url('/assets/bloxyx.png') center/contain no-repeat; width:208px; height:68px; min-height:0; border:0; border-radius:0; transform:none; box-shadow:none; }
.logo:hover { background-color:transparent; box-shadow:none; }
.logo { filter:none; }
.gem,.bigGem { filter:none; }
#main { container-type:inline-size; container-name:match-lobby; }
.logo::before,.logo::after { content:none; }
.shareBtn,.shareNavButton,.matchShareBtn { background:#192a40; border-color:#304b6d; box-shadow:none; }
.shareBtn:hover,.shareNavButton:hover,.matchShareBtn:hover { background:#203650; box-shadow:none; transform:none; }
.summary { background:linear-gradient(180deg,#142033,#101826); border-color:#2b3a50; box-shadow:inset 0 1px #ffffff04; }
.room,.chatOpen .room,.historyModal .room { display:grid; grid-template-columns:minmax(172px,1.1fr) minmax(125px,1.15fr) minmax(88px,.6fr) minmax(78px,.55fr) 138px; gap:16px; padding:14px 18px; height:auto; min-height:100px; align-items:center; background:#141d2c; border:1px solid #283449; border-radius:14px; box-shadow:inset 0 1px #ffffff03; transform:none; }
.room:hover { transform:none; box-shadow:inset 0 1px #ffffff03; border-color:#3b4d66; }
.room>*,.historyModal .room>* { min-width:0; grid-row:auto; grid-column:auto; }
.room .players,.historyModal .room .players { display:flex; gap:8px; min-width:0; }
.room .avatar,.historyModal .room .avatar { width:44px; height:44px; display:inline-grid; flex:none; }
.room .vs { font-size:10px; color:#7f90a9; flex:none; }
.roomPortrait { display:inline-flex; flex:none; position:relative; }
.room .petStack,.historyModal .room .petStack { display:flex; gap:9px; min-width:0; max-height:none; align-items:center; overflow:visible; }
.room .bigGem,.historyModal .room .bigGem { width:30px; height:34px; flex:0 0 30px; background:url('/assets/gem.svg') center/contain no-repeat; }
.room .petThumbs,.historyModal .room .petThumbs { display:flex; flex:1; min-width:0; gap:2px; align-items:center; }
.room .petThumb,.historyModal .room .petThumb,.chatOpen .room .petThumb:nth-child(n+4) { display:inline-flex; flex:0 1 46px; min-width:0; max-width:46px; width:46px; height:auto; aspect-ratio:1; border-radius:5px; overflow:hidden; background:#0a1424; position:relative; }
.room .petThumb img { width:100%; height:100%; aspect-ratio:1; object-fit:contain; image-rendering:auto; }
.room .petThumb>span { position:absolute; inset:0; display:grid; place-items:center; background:#070e20b3; font-size:10px; padding:0; }
.room .roomValue,.historyModal .room .roomValue { display:flex; flex-direction:column; align-items:flex-start; gap:5px; min-width:0; text-align:left; }
.room .roomValue strong,.historyModal .room .roomValue strong { font-size:17px; white-space:nowrap; display:flex; align-items:center; gap:5px; }
.room .roomValue small { font-size:8px; letter-spacing:0; white-space:nowrap; }
.room .roomValue .gem { width:18px; height:18px; flex:none; }
.room .rollResult,.historyModal .room .rollResult { min-width:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:5px; }
.room .miniDice { gap:3px; }
.room .miniDice .die { width:20px; height:20px; border-radius:5px; }
.room .score { font-size:12px; }
.room .roomActions,.historyModal .room .roomActions { display:grid; grid-template-columns:minmax(0,1fr) 34px; width:138px; gap:6px; align-self:center; }
.room .roomActions button,.historyModal .room .roomActions button { min-width:0; width:auto; height:34px; padding:6px 10px; margin:0; font-size:11px; border-radius:9px; }
.roomActions .primary { grid-column:1; }
.roomActions .viewRoom { grid-column:1; grid-row:2; }
.roomComplete .roomActions .viewRoom { grid-row:1; }
.room .roomActions .copyRoomLink { grid-column:2; grid-row:1/-1; width:34px; height:34px; padding:8px; }
.room .copyRoomLink .icon { width:16px; height:16px; }
.room .typeBadge { display:inline-flex; margin:0; font-size:8px; }
.roomExpiry { margin:0; padding:0; border:0; background:none; font-size:9px; color:#7c8da6; }
.openSeat.avatar.waiting { background:#101a2a; border:1px dashed #3c4d65; display:inline-grid; place-items:center; animation:none; }
.openSeat>.icon { width:45%; height:45%; color:#788aa6; animation:none; }
.bouncingDots,.pulseDot { display:none; }
.dailyIcon,.tunnelLiveDot,.navNotifyDot { animation:none; }
.dailyIcon { display:grid; place-items:center; margin:0 auto 16px; width:56px; height:56px; border:1px solid #2b506e; border-radius:16px; background:#112a3d; color:#43d1f3; }
.dailyIcon .icon { width:28px; height:28px; }
.statCardIcon { display:grid; place-items:center; }
.statCardIcon .icon { width:24px; height:24px; }
.overlay { background:#050b15df; backdrop-filter:none; }
.modal,.modal.narrow,.modal.duelModal,.modal.historyModal { background:#141d2d; border-color:#33435c; min-width:0; min-height:0; max-width:calc(100vw - 40px); max-height:calc(100dvh - 115px); }
.duelModal { padding:0; }
.duelHeader { background:#101a2b; border-bottom:1px solid #293950; }
.duelHeader .logo { width:190px; height:64px; }
.duelArena { grid-template-columns:minmax(100px,.7fr) minmax(0,2fr) minmax(100px,.7fr); gap:20px; }
.duelPlayer { min-width:0; gap:12px; }
.duelPlayer>b { font-size:14px; max-width:100%; overflow-wrap:anywhere; }
.duelPortrait { width:94px; height:94px; background:#1b293e; border:1px solid #31435d; }
.duelPlayer.player2 { gap:14px; }
.duelStage { min-width:0; min-height:190px; }
.duelDice { gap:8px; }
.duelDie { min-width:0; width:100%; border-radius:12px; box-shadow:inset 0 2px 3px #ffffff0d,0 5px 0 #060b1280; }
.duelDie.neutral { background:#1b2a40; box-shadow:inset 0 1px #ffffff0c,0 4px #0a1220; }
.duelDie.neutral::after { background:#7b90ad; width:10px; height:10px; box-shadow:none; }
.duelRoundLabel { font-size:10px; letter-spacing:1.3px; color:#94a8c7; }
.matchControls { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; margin:14px 0 0; }
.matchControls button { min-width:0; padding:9px 12px; font-size:11px; }
.duelWagers { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; }
.duelWager { min-width:0; padding:16px; background:#101928; border-color:#293950; }
.duelWager>small { overflow-wrap:anywhere; }
.duelItems { max-height:180px; overflow:auto; }
.duelItems>div { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:8px; align-items:center; }
.duelItems>div>b { font-size:10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.duelItems>div>em { font-size:10px; white-space:nowrap; }
.duelItems img,.duelItems .bigGem { width:30px; height:30px; }
.duelCommitment,.duelCommitment button { min-width:0; }
.duelCommitment code { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.historyModal .historyRows { padding:18px; }
.historyModal .room { margin-bottom:10px; }
.historyModal .roomExpiry { display:none; }
.room .loserPortrait { opacity:.55!important; filter:none!important; }
.room .avatar.faded { opacity:.6; }
.toolbar { flex-wrap:wrap; gap:8px; }
.toolbar .right { flex-wrap:wrap; gap:8px; }
.petThumb,.catalogPet img { image-rendering:auto; }
@media (max-width:1200px) {
  .room,.chatOpen .room,.historyModal .room { grid-template-columns:minmax(150px,1.1fr) minmax(120px,1fr) minmax(86px,.65fr) minmax(75px,.55fr) 112px; gap:10px; padding:12px; }
  .room .avatar,.historyModal .room .avatar { width:38px; height:38px; }
  .room .players,.historyModal .room .players { gap:6px; }
  .room .roomActions,.historyModal .room .roomActions { width:112px; }
  .funds { position:static; transform:none; margin-left:auto; }
  .topbar { gap:16px; }
  .topbar>.logo { width:180px; height:60px; }
}
@media (max-width:1000px) {
  .room,.chatOpen .room,.historyModal .room { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 130px; gap:12px; }
  .room .players { grid-column:1/3; grid-row:1; }
  .room .roomValue { grid-column:3; grid-row:1; align-items:flex-end; }
  .room .petStack { grid-column:1; grid-row:2; }
  .room .rollResult { grid-column:2; grid-row:2; }
  .room .roomActions { grid-column:3; grid-row:2; width:130px; }
  .room .petThumb { max-width:40px; }
  .account .levelText { display:none; }
  .account .level { min-width:40px; padding:5px; }
  .account .level .chevron { display:none; }
  .account .level .mobileLevel { display:block; font-size:10px; }
  .account .profile.loggedIn { width:42px; min-width:42px; padding:3px; }
  .account .profile.loggedIn>b,.account .profile.loggedIn>span:not(.avatar) { display:none; }
}
@media (max-width:740px) {
  .topbar { height:112px; display:grid; grid-template-columns:1fr auto; grid-template-rows:56px 42px; padding:6px 14px; gap:0 8px; }
  .topbar>.logo { grid-column:1; grid-row:1; width:164px; height:54px; }
  .funds { grid-column:1; grid-row:2; justify-self:start; margin:0; position:static; transform:none; height:38px; }
  .funds button { height:38px; padding:0 10px; }
  .funds .walletButton { width:38px; }
  .account { grid-column:2; grid-row:1/3; flex-wrap:wrap; justify-content:flex-end; gap:6px; max-width:162px; }
  .account .shareNavButton,.account .soundToggle { width:34px; height:36px; padding:8px; }
  .account .level { width:37px; min-width:37px; height:36px; }
  .account .profile { height:36px; }
  .account .profile.loggedIn { width:37px; min-width:37px; padding:2px; }
  .account .profile.loggedIn>b,.account .profile.loggedIn>.chevron { display:none; }
  .account .profile .avatar { width:29px; height:29px; }
  .shell,body:has(#giveaway[hidden]) .shell { padding-top:112px; }
  main,.giveaway[hidden]+main,body:has(#giveaway[hidden]) #main { height:calc(100dvh - 112px); }
  body:has(#giveaway:not([hidden])) #main { height:calc(100dvh - 177px); }
  .sidebar { top:112px; }
  .overlay { inset:112px 0 0; padding:10px; }
  .modal,.modal.narrow,.modal.duelModal,.modal.historyModal { width:100%; max-width:100%; min-width:0; max-height:calc(100dvh - 132px); border-radius:16px; padding:16px; }
  .modal.duelModal { padding:0; }
  .duelBody { padding:18px 14px; }
  .duelArena { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px 12px; }
  .duelPlayer.player0 { grid-column:1; grid-row:1; }
  .duelPlayer.player1 { grid-column:2; grid-row:1; }
  .duelPlayer.player2 { grid-column:1/-1; grid-row:2; }
  .duelStage { grid-column:1/-1; grid-row:3; min-height:0; }
  .duelPortrait { width:76px; height:76px; }
  .duelColors { gap:4px; flex-wrap:wrap; }
  .duelColors span { padding:4px 8px; }
  .duelDice { margin:0 auto; max-width:360px; }
  .duelDie { max-width:76px; }
  .duelWagers { grid-template-columns:1fr; }
  .duelCommitment button { flex-wrap:wrap; }
  .duelCommitment code { flex-basis:100%; font-size:9px; }
  .historyModal .historyRows { padding:12px; }
  .toolbar .right { width:100%; margin-left:0; }
  .toolbar .right>* { flex:1; }
  .room,.chatOpen .room,.historyModal .room { grid-template-columns:minmax(0,1fr) 120px; gap:14px 10px; padding:14px 12px; }
  .room .players { grid-column:1/-1; grid-row:1; }
  .room .avatar,.historyModal .room .avatar { width:40px; height:40px; }
  .room .roomValue { grid-column:2; grid-row:2; align-items:flex-end; }
  .room .petStack { grid-column:1; grid-row:2; }
  .room .rollResult { grid-column:1; grid-row:3; align-items:flex-start; }
  .room .roomActions { grid-column:2; grid-row:3; width:120px; }
  .room .roomActions button { min-height:36px; height:36px; }
  .room .petStack .bigGem { width:23px; flex-basis:23px; height:28px; }
  .room .petThumb { flex-basis:34px; max-width:34px; }
  .room .rollResult:empty::before { content:'Open match'; font-size:10px; color:#8397b6; }
  .coinArena { min-width:0; }
  .inventoryGrid,.catalogGrid { min-width:0; }
  .createActions { flex-wrap:wrap; }
  .createActions button { min-width:0; flex:1 1 auto; }
  .localBadge { font-size:8px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:0.01ms!important; animation-iteration-count:1!important; transition-duration:0.01ms!important; } }
@container match-lobby (max-width:760px) {
  .room,.chatOpen .room { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 130px; gap:12px; }
  .room .players { grid-column:1/3; grid-row:1; }
  .room .roomValue { grid-column:3; grid-row:1; align-items:flex-end; }
  .room .petStack { grid-column:1; grid-row:2; }
  .room .rollResult { grid-column:2; grid-row:2; }
  .room .roomActions { grid-column:3; grid-row:2; width:130px; }
}
@container match-lobby (max-width:450px) {
  .room,.chatOpen .room { grid-template-columns:minmax(0,1fr) 120px; gap:14px 10px; padding:14px 12px; }
  .room .players { grid-column:1/-1; grid-row:1; }
  .room .roomValue { grid-column:2; grid-row:2; }
  .room .petStack { grid-column:1; grid-row:2; }
  .room .rollResult { grid-column:1; grid-row:3; align-items:flex-start; }
  .room .roomActions { grid-column:2; grid-row:3; width:120px; }
}
/* Brand accents; the six gameplay colors and rank colors retain their meaning. */
:root { --blue:#16875e; --cyan:#7cddba; }
.primary,.primary:hover,.account .profile:not(.loggedIn),.funds .walletButton { background:linear-gradient(180deg,#12845f,#086d4d); border-color:#269974; }
.primary:hover,.funds .walletButton:hover { background:#11875f; }
.navButton.active { color:#98e9c9; background:#163d33; border-color:#2d6955; box-shadow:inset 3px 0 #3cbd8a; }
.shareBtn,.shareNavButton,.matchShareBtn { background:#19332d; border-color:#345d4d; color:#b8e5d1; }
.shareBtn:hover,.shareNavButton:hover,.matchShareBtn:hover { background:#244438; border-color:#548269; }
.funds { box-shadow:none; }
.duelDie.neutral:not(.rolling)::after { content:none; }
button:focus-visible,input:focus-visible,select:focus-visible { outline-color:#8ee0be!important; }
.dailyIcon { background:#193a30; border-color:#345c46; color:#ead194; }
.highlightTunnelCard { background:#173328!important; border-color:#3c6951!important; box-shadow:none; }

/* BloxyX: quiet surfaces, clear hierarchy and bounded game motion. */
:root {
  --bg:#0c1117;
  --header:#10161e;
  --card:#141c26;
  --modal:#151d28;
  --border:#2b3543;
  --muted:#9da9bb;
  --blue:#26845e;
  --cyan:#91d1b3;
  --gold:#ddc080;
}
body { background:#0c1117; background-image:none; color:#f2f5f8; }
button,input,select { border-radius:10px; }
button { font-weight:700; box-shadow:none; background:#202a36; border-color:#303b4b; }
button:hover { background:#2a3745; border-color:#49586b; box-shadow:none; }
.primary,.primary:hover,.account .profile:not(.loggedIn),.funds .walletButton { background:#22794f; border-color:#3d9268; box-shadow:none; }
.primary:hover,.funds .walletButton:hover { background:#2b8c60; }
input,select { background:#101722; border-color:#344253; min-height:40px; }
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible { outline:2px solid #a1d7bd; outline-offset:4px; }
.topbar { background:#10161e; border-bottom:1px solid #2b3543; }
.topbar .level,.topbar .profile,.funds { background:#19222d; border-color:#344052; box-shadow:none; }
.sidebar,.chat { background:#111822; border-color:#2b3543; }
.navButton.active { background:#1d352c; color:#b2e2ca; border-color:#3a6450; box-shadow:inset 3px 0 #97cbb0; }
.navButton:hover { box-shadow:none; }
.chatMessage { background:#1a2330; border-color:#2d3847; border-radius:14px; }
.chatLevel,.chatPortrait .avatar,.rankBadge { box-shadow:none; filter:none; }
.chatName { font-size:12px; }
.chatOnline { color:#9eae9e; }
.giveaway { background:#25251e; border-color:#5b523b; }
.giveaway small { color:#dbbd7d; }
.orange,.orange:hover { background:#d4b373; color:#191b17; border-color:#e0c183; box-shadow:none; }
main { scrollbar-gutter:stable; }
.lobbyHeader { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 22px; padding:4px 1px; }
.lobbyHeader small { color:#a3c7b3; font-size:9px; letter-spacing:1.4px; }
.lobbyHeader h1 { font-size:28px; font-weight:750; letter-spacing:-.9px; margin:7px 0 7px; }
.lobbyHeader p { margin:0; color:#a0adbf; font-size:12px; line-height:1.6; }
.demoPill { white-space:nowrap; border:1px solid #414535; border-radius:6px; padding:6px 9px; font-size:10px; color:#cab77f; background:#24281f; }
.summary { background:#151d27; border:1px solid #303a48; border-radius:14px; box-shadow:none; margin-bottom:16px; }
.stats { padding-top:7px; }
.stat strong { font-size:23px; letter-spacing:-.6px; }
.stat span { font-size:10px; color:#a0adbf; }
.toolbar { padding-top:14px; border-top-color:#2c3745; }
.toolbar button,.toolbar select { min-height:40px; font-size:12px; }
.toolbar #historyRoom { display:inline-flex; align-items:center; gap:7px; }
.toolbar .icon { width:16px; height:16px; }
.room,.chatOpen .room,.historyModal .room { background:#151d28; border-color:#2b3645; box-shadow:none; border-radius:12px; }
.room:hover { border-color:#44536a; box-shadow:none; }
.room .roomValue strong { font-size:18px; letter-spacing:-.4px; }
.room .roomValue small { font-size:9px; color:#9cacc0; }
.room .vs { font-weight:700; }
.room .roomActions button { min-height:38px; height:38px; font-size:11px; }
.room .roomActions .copyRoomLink { height:38px; }
.room .roomActions .primary { background:#246f4d; }
.room .petThumb { border:1px solid #394556; border-radius:5px; }
.openSeat.avatar.waiting { background:#141e2a; border:1px dashed #536079; }
.waitingEmpty { min-height:230px; border:1px dashed #384351; border-radius:14px; background:#111822; color:#dce5ed; display:flex; align-items:center; justify-content:center; flex-direction:column; padding:24px; }
.waitingEmpty>b { font-size:18px; letter-spacing:-.35px; }
.waitingEmpty p { max-width:340px; margin:10px 0 0; color:#9baabe; line-height:1.65; font-size:12px; }
.waitingEmpty>.emptyIcon { margin-bottom:15px; width:42px; height:42px; border-radius:12px; color:#a3c7b3; background:#1b3029; border-color:#3a5648; }
.modal,.modal.narrow,.modal.duelModal,.modal.coinModal,.modal.historyModal { border-color:#3c4757; background:#151d28; border-radius:18px; box-shadow:0 18px 55px #0006; }
.modalClose { background:#202b38; border-color:#364252; }
.modal h2 { font-size:22px; font-weight:750; letter-spacing:-.65px; }
.modal p { color:#a7b3c5; }
.modalOpen .localBadge { visibility:hidden; }
.walletTotal { margin:22px 0 16px; padding:18px; border:1px solid #324b3c; background:#1a2d23; border-radius:12px; }
.walletTotal>span { color:#b0c3b7; font-size:11px; }
.walletTotal strong { display:flex; align-items:center; gap:9px; font-size:28px; margin-top:8px; letter-spacing:-.7px; }
.walletMenu { gap:8px; }
.walletMenu button { min-height:46px; }
.settingRow { border-bottom-color:#303c4b; }
.catalogPage h1 { font-size:26px; font-weight:750; letter-spacing:-.8px; }
.catalogNote { color:#a4b2c5; font-size:11px; line-height:1.8; }
.catalogGrid { gap:10px; }
.catalogPet { background:#182230; border:1px solid #344151; box-shadow:none; border-radius:11px; padding:13px 10px; }
.catalogPet:hover { background:#1c2938; transform:none; box-shadow:none; }
.catalogPet img { filter:none; }
.catalogPet.selected { background:#20382c; border-color:#7fb198; box-shadow:none; }
.catalogPet.rainbow { background:#182230; }
.catalogPet.rainbow img { filter:none; }
.catalogPet.shiny { box-shadow:none; }
.emptyInventory { border-color:#354356; background:#151e2a; }
.emptyInventory p { max-width:380px; padding:0 18px; line-height:1.7; }
.inventoryPanel { border-color:#344253; background:#131c29; }
.inventorySummary { border-bottom-color:#344253; }
.inventoryBody { min-height:200px; }
.colorChoice { box-shadow:none; border-radius:9px; }
.colorChoice.selected { outline:2px solid #f4f2e7; outline-offset:3px; box-shadow:none; }
.coinChoice.colorChoice { min-height:56px; width:100px; border-color:#405267; background:#19232f; }
.coinChoice.colorChoice.selected { background:#243a2d; border:1px solid #8cb69d; outline:2px solid #a1c4ae; box-shadow:none; }
.coinChip,.coinFace .coinChip { filter:none; }
.rankMenu { background:#151d28; border-color:#3b4758; box-shadow:0 12px 35px #0006; }
.rankCard { background:#192330; border-color:#344150; border-radius:12px; box-shadow:none; }
.rankCard.equipped { background:#20332b; border-color:#577a66; }
.rankCard:hover { box-shadow:none; }
.rankBadge { width:32px; height:32px; }
.rankName small { font-size:9px; letter-spacing:0; line-height:1.65; }
.rankPerks { display:block; margin-top:3px; color:#acb7c7; font-size:9px; font-weight:500; line-height:1.5; }
.duelHeader,.coinHeader,.historyHeader { background:#111a24; border-bottom-color:#303e4e; }
.duelHeader { height:68px; justify-content:flex-start; padding-left:26px; }
.duelHeader .logo { width:158px; height:50px; }
.duelBody { padding:24px 26px; }
.duelArena { align-items:center; grid-template-columns:minmax(96px,.8fr) minmax(0,2fr) minmax(96px,.8fr); gap:22px; }
.duelPlayer { gap:10px; transition:opacity 220ms ease; }
.duelPortrait { width:82px; height:82px; background:#202c3b; border:1px solid #3a4a5f; }
.duelPlayer>b { font-size:12px; font-weight:750; }
.duelColors { gap:5px; flex-wrap:wrap; }
.duelColors span { background:#172230; color:#e6ebf2; border:1px solid #344355; border-left:3px solid var(--die); border-radius:6px; padding:5px 7px; font-size:9px; }
.duelPlayerScore { min-height:17px; color:#aebccf; font-size:10px; font-weight:700; }
.duelPlayer.duelChampion .duelPortrait { box-shadow:0 0 0 2px var(--winner); }
.duelPlayer.duelChampion .duelPlayerScore { color:#d6e7de; }
.duelLoser { opacity:.58; filter:none; }
.duelStage { min-height:190px; padding:14px 0 0; }
.duelDice { --dice-size:74px; --dice-half:calc(var(--dice-size)/2); perspective:700px; gap:12px; align-items:center; min-height:100px; padding:10px 0; }
.duelDie { position:relative; flex:0 1 var(--dice-size); width:var(--dice-size); max-width:var(--dice-size); height:var(--dice-size); border:0; border-radius:0; display:block; background:none; box-shadow:none; transition:none; }
.duelDie::after,.duelDie.neutral::after,.duelDie.landed::after { content:none; animation:none; }
.duelDie.neutral { background:none; box-shadow:none; }
.dieCube { display:block; width:100%; height:100%; position:relative; transform-style:preserve-3d; transform:rotateX(0deg) rotateY(0deg); }
.cubeFace { position:absolute; inset:0; background:var(--face); border:1px solid #ffffff38; border-radius:7px; display:grid; place-items:center; box-shadow:inset 0 1px #ffffff1a,inset 0 -2px #00000020; backface-visibility:hidden; }
.cubeFace>i { width:13px; height:13px; border-radius:50%; background:#fbfcf7; box-shadow:0 1px 1px #0003; }
.neutral .cubeFace { border-color:#42536a; box-shadow:inset 0 -3px #0b111c40; }
.neutral .cubeFace>i { display:none; }
.cube-front { transform:translateZ(var(--dice-half)); }
.cube-back { transform:rotateY(180deg) translateZ(var(--dice-half)); }
.cube-right { transform:rotateY(90deg) translateZ(var(--dice-half)); }
.cube-left { transform:rotateY(-90deg) translateZ(var(--dice-half)); }
.cube-top { transform:rotateX(90deg) translateZ(var(--dice-half)); }
.cube-bottom { transform:rotateX(-90deg) translateZ(var(--dice-half)); }
.duelDie.rolling { animation:none; }
.duelDie.rolling .dieCube { animation:bloxyDiceTumble calc(980ms + var(--index,0)*180ms) cubic-bezier(.17,.45,.21,1) both; will-change:transform; }
.duelDie.landed { animation:bloxyDiceSettle 170ms ease-out both; }
.duelRoundLabel { min-height:18px; margin-top:17px; letter-spacing:1px; color:#a4b6ca; font-size:9px; }
.duelRoundLabel.rollingLabel { color:#b5d5c2; letter-spacing:1px; }
.duelWinner { border:1px solid #587661; background:#263d2e; color:#e9f1e9; border-radius:8px; padding:10px 17px; font-size:13px; box-shadow:none; }
.duelWinner.revealWinner { animation:bloxyWinnerReveal 180ms ease-out both; }
.duelHistory { background:#111923; border:1px solid #2e3e4f; border-radius:12px; padding:15px; min-height:105px; }
.duelHistory>b { font-size:9px; letter-spacing:1px; color:#b3c0d0; }
.duelHistoryRow,.duelHistoryEmpty { background:#192230; border-radius:8px; }
.duelHistoryRow .miniDice .die { border-radius:5px; box-shadow:none; }
.duelCommitment { justify-content:flex-start; margin:14px 0 18px; }
.duelCommitment button { border:1px solid #314151; background:#172230; border-radius:8px; max-width:85%; }
.duelCommitment em,.duelCommitment .icon { color:#a0ccaf; }
.duelWager { background:#111b27; border:1px solid #304154; border-radius:11px; }
.duelWager>strong { font-size:19px; margin:8px 0 12px; }
.duelItems em { color:#c4d9ca; }
.coinHeader>small,.historyHeader small { color:#b7d2c0; font-size:9px; letter-spacing:1.3px; }
.coinHeader h2 { font-size:25px; }
.coinArena { background:none; min-height:260px; }
.coinArena .matchPlayers { gap:230px; min-height:260px; }
.coinPortrait { box-shadow:none; padding:4px; border:1px solid #324153; transition:opacity 220ms,border-color 220ms; }
.coinPortrait .avatar { width:66px; height:66px; }
.coinChampion .coinPortrait { border-color:#a2cab2; background:none; box-shadow:0 0 0 1px #a2cab2; }
.coinChampion em { color:#b1d7bd; }
.coinLoser,.coinLoser .coinPortrait { opacity:.64; filter:none; }
.coinLoser b,.coinLoser .coinPlayerSide { opacity:1; }
.coinStage { width:156px; height:180px; perspective:900px; }
.coinFlipper { width:156px; height:156px; }
.coinFace.front { transform:translateZ(4px); }
.coinFace.back { transform:rotateY(180deg) translateZ(4px); }
.coinEdge { position:absolute; width:8px; height:150px; left:74px; top:3px; background:repeating-linear-gradient(to bottom,#9d947b 0 3px,#cfc6aa 3px 5px); border-radius:3px; transform:rotateY(90deg); }
.coinHalo { display:none; }
.coinShadow { width:120px; height:9px; left:18px; bottom:8px; opacity:.65; }
.coinCountdown { position:absolute; top:-30px; left:50%; transform:translateX(-50%); width:30px; height:28px; text-align:center; font-size:21px; font-weight:800; color:#d8c28e; }
.coinCountdown[hidden] { display:none; }
.coinSpin { animation:bloxyCoinFlip 1900ms cubic-bezier(.2,.55,.25,1) both; will-change:transform; }
.coinResultText { padding-top:9px; }
.coinResultText b { font-size:19px; }
.coinResultText>span { color:#b3d3bd; }
.coinModal .matchControls button { min-height:40px; }
.coinModal .fairDetails { font-size:10px; border-color:#303e4e; }
.coinWagers { margin:0 24px 20px; }
.historyToolbar { background:#151d28; border-color:#303e4e; }
.historyModal .historyRows { scrollbar-gutter:stable; }
.minesArena { background-image:none!important; }
.mineTile { box-shadow:inset 0 -3px #0c142044; }
.bonusStar,.bonusReady,.bonusClaimed,.dailyIcon,.navNotifyDot { animation:none; box-shadow:none; }
.bonusDays { gap:6px; }
.loginCard { background:#151f2b; border-color:#354455; box-shadow:none; }
.loginIcon { background:#1f372b; color:#abd4ba; border-color:#476150; box-shadow:none; }
.loginSecurity { margin:10px 0; min-height:65px; }
.loginCode { border-color:#426451; }
.localBadge { background:#181f23; color:#a8af9d; border-color:#3b443d; letter-spacing:1px; }
.toast { background:#1d3026; border-color:#587363; color:#eef4ee; border-radius:10px; box-shadow:0 8px 20px #0004; }
@keyframes bloxyDiceTumble {
  0% { transform:translateY(5px) rotateX(-20deg) rotateY(25deg); }
  24% { transform:translateY(-16px) rotateX(calc(var(--turn-x,720deg)*.35)) rotateY(calc(var(--turn-y,720deg)*.35)); }
  72% { transform:translateY(-2px) rotateX(calc(var(--turn-x,720deg)*.87)) rotateY(calc(var(--turn-y,720deg)*.87)); }
  90% { transform:translateY(2px) rotateX(var(--turn-x,720deg)) rotateY(var(--turn-y,720deg)); }
  100% { transform:translateY(0) rotateX(var(--turn-x,720deg)) rotateY(var(--turn-y,720deg)); }
}
@keyframes bloxyDiceSettle { from { transform:translateY(-3px); } to { transform:translateY(0); } }
@keyframes bloxyWinnerReveal { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
@keyframes bloxyCoinFlip {
  0% { transform:translateY(0) rotateY(0deg); }
  32% { transform:translateY(-24px) rotateY(900deg); }
  80% { transform:translateY(0) rotateY(var(--finish)); }
  90% { transform:translateY(-4px) rotateY(var(--finish)); }
  100% { transform:translateY(0) rotateY(var(--finish)); }
}
@media (max-width:1000px) {
  .duelDice { --dice-size:60px; gap:10px; }
  .rankMenu { max-width:calc(100vw - 24px); }
}
@media (max-width:740px) {
  .lobbyHeader { margin-bottom:17px; align-items:flex-start; }
  .lobbyHeader h1 { font-size:25px; }
  .lobbyHeader p { font-size:11px; max-width:260px; }
  .demoPill { margin-top:7px; padding:5px 7px; font-size:9px; }
  .stats { gap:0; padding:4px 0 14px; }
  .stat { min-width:0; padding:0 10px; }
  .stat strong { font-size:19px; }
  .stat span { font-size:8px; }
  .toolbar { flex-wrap:nowrap; }
  .toolbar .right { width:auto; margin-left:auto; }
  .toolbar button,.toolbar select { padding:9px 10px; min-height:40px; font-size:10px; }
  .toolbar #historyRoom .icon { display:none; }
  .duelHeader { padding-left:17px; height:58px; }
  .duelHeader .logo { width:142px; height:43px; }
  .duelBody { padding:22px 15px 15px; }
  .duelArena { gap:14px 10px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .duelPortrait { width:65px; height:65px; }
  .duelPlayer.player2 { flex-direction:column; grid-column:1/-1; grid-row:2; }
  .duelPlayer.player2 .duelPortrait { width:55px; height:55px; }
  .duelStage { grid-column:1/-1; grid-row:3; padding-top:2px; }
  .duelDice { --dice-size:clamp(46px,16vw,70px); gap:12px; min-height:90px; }
  .duelDie { max-width:var(--dice-size); }
  .cubeFace { border-radius:8px; }
  .cubeFace>i { width:10px; height:10px; }
  .duelColors span { font-size:9px; padding:4px 7px; }
  .duelCommitment { flex-wrap:wrap; margin-bottom:15px; gap:8px; }
  .duelCommitment button { max-width:100%; width:100%; border-radius:8px; }
  .duelCommitment>span { padding-left:3px; }
  .duelWagers { grid-template-columns:1fr; }
  .duelHistoryRow { gap:7px; padding:8px; }
  .duelHistoryRow .die { width:20px; height:20px; }
  .tieBadge { font-size:8px; }
  .coinArena { margin:0 12px; min-height:270px; padding-top:22px; }
  .coinArena .matchPlayers { gap:16px; min-height:0; align-items:flex-start; }
  .coinPlayer { gap:8px; }
  .coinPlayer>b { font-size:11px; }
  .coinPortrait .avatar { width:46px; height:46px; }
  .coinStage { width:116px; height:140px; top:auto; bottom:3px; transform:translateX(-50%); }
  .coinFlipper { width:116px; height:116px; }
  .coinEdge { height:110px; left:54px; }
  .coinCountdown { top:-18px; font-size:18px; }
  .coinShadow { width:86px; left:15px; }
  .coinPlayerSide { font-size:10px; gap:5px; }
  .coinPlayerSide .coinChip { width:21px; height:21px; }
  .coinHeader { padding:20px 22px; }
  .coinHeader h2 { font-size:22px; }
  .coinModal .matchStatus { margin-bottom:14px; }
  .coinModal .matchControls { margin:0 14px 20px; }
  .coinWagers { margin:0 14px 18px; }
  .bonusDays { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .pagination { gap:7px; flex-wrap:wrap; }
  .pagination span { font-size:9px; text-align:center; }
  .modalTop select { flex:1 1 130px; }
  .loginSecurity { min-height:65px; overflow:hidden; }
}
@media (max-width:380px) {
  .demoPill { display:none; }
  .stat strong { font-size:17px; }
  .toolbar { gap:5px; }
  .toolbar button,.toolbar select { padding:8px 9px; }
}
@media (prefers-reduced-motion:reduce) {
  .duelDie.rolling .dieCube,.duelDie.landed,.coinSpin,.duelWinner.revealWinner { animation:none!important; transform:none; }
  .duelDie.rolling .dieCube,.coinSpin { will-change:auto; }
}
@media(min-width:741px){.topbar{gap:18px}.topbar>.logo{flex-shrink:0}.funds{position:static;transform:none;margin-left:auto;margin-right:8px;flex-shrink:0}.account{flex-shrink:0;gap:10px}}
.duelDice:has(.neutral):not(:has(.rolling)){display:none}.duelStage:has(.duelDie.neutral):not(:has(.rolling)){min-height:0;padding:12px 0}.duelStage:has(.duelDie.neutral):not(:has(.rolling)) .duelRoundLabel{margin:12px 0 20px}
.matchAdminButton{position:absolute;top:14px;right:63px;padding:9px 12px;border:1px solid #3e6555;background:#172820;color:#a8e5c8;border-radius:8px;font-size:11px;font-weight:700;z-index:2}
.proofChecks{display:grid;gap:8px;margin:20px 0}.proofCheck{display:grid;gap:4px;padding:12px;border:1px solid #3b5145;background:#192820;border-radius:9px;font-size:12px}.proofCheck b{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#95c9ac}.proofCheck small{color:#a2b1a8;font-size:10px;line-height:1.5}.proofCheck.failed{border-color:#775044;background:#2e201e}.proofCheck.failed b{color:#eaa499}.proofCheck.unavailable{border-color:#484c51;background:#1c2229}.proofCheck.unavailable b{color:#afbac7}.fairRules h3{font-size:14px;margin:20px 0 6px}.fairRules p{margin:0;font-size:13px;line-height:1.6}.profile[data-rank-frame]:not([data-rank-frame="plain"]) .avatar{outline:1px solid var(--profile-rank);outline-offset:2px}.profile[data-rank-frame="gilded"] .avatar,.profile[data-rank-frame="sovereign"] .avatar,.profile[data-rank-frame="apex"] .avatar{outline-width:2px;box-shadow:0 0 0 5px #ffffff09}.profile[data-rank-frame="navigator"] .avatar,.profile[data-rank-frame="sentinel"] .avatar,.profile[data-rank-frame="prism"] .avatar{border-radius:12px}.rankPerk{color:#a4b7a7!important;font-size:9px!important;margin-top:5px!important;white-space:normal!important}.rankName{min-width:0}.rankCard{min-height:86px}
