:root {
  --scale: 1;
  --blue0: #052c42;
  --blue1: #083e58;
  --blue2: #0a5e82;
  --line: #08aeea;
  --gold0: #ffef71;
  --gold1: #ffc21d;
  --gold2: #c27500;
  --shadow: rgba(0, 0, 0, .55);
}

* { box-sizing: border-box; }
html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; }
body {
  font-family: Arial, Helvetica, sans-serif;
  background: #07384f;
  color: #fff;
  user-select: none;
}
button, input { font: inherit; }
button { border: 0; cursor: pointer; }

.preloader {
  position: fixed; inset: 0; z-index: 1000; display: grid; place-content: center; gap: 20px;
  background: radial-gradient(circle at center, #0a698f, #04263a 70%);
  transition: opacity .45s ease, visibility .45s ease;
}
.preloader.is-hidden { opacity: 0; visibility: hidden; }
.preloader-logo { position: relative; width: min(620px, 78vw); filter: drop-shadow(0 12px 10px rgba(0,0,0,.38)); }
.preloader-logo::after { content:""; position:absolute; left:14%; right:8%; bottom:7px; height:10px; border-radius:50%; background:rgba(0,0,0,.3); filter:blur(8px); z-index:-1; }
.preloader-logo img { display:block; width:100%; height:auto; }
.preloader-bar { width: 360px; height: 16px; border: 2px solid #0ab8ef; border-radius: 14px; background: rgba(0,0,0,.35); padding: 2px; box-shadow: 0 0 18px rgba(0,192,255,.35); }
.preloader-bar i { display: block; height: 100%; border-radius: 10px; background: linear-gradient(90deg,#f79000,#ffe74f); animation: load 1.35s ease-in-out forwards; }
.preloader p { margin: 0; text-align: center; font-weight: 800; opacity: .9; }
@keyframes load { from { width: 8%; } to { width: 100%; } }

.viewport { position: fixed; inset: 0; display: grid; place-items: center; background: #08394f; }
.app {
  position: relative; width: 1500px; height: 768px; overflow: hidden;
  transform: scale(var(--scale)); transform-origin: center center;
  background: linear-gradient(90deg, #07334a 0 7.5%, #083a53 7.5% 92.5%, #07334a 92.5% 100%);
  border-radius: 4px;
}
.outside-side { position: absolute; top: 0; bottom: 0; width: 84px; background: rgba(0,0,0,.08); border-left: 1px solid rgba(0,175,239,.35); border-right: 1px solid rgba(0,175,239,.35); }
.outside-side--left { left: 0; }
.outside-side--right { right: 0; }
.club-shell {
  position: absolute; left: 250px; top: 15px; width: 1100px; height: 720px;
  background:
    radial-gradient(circle at 50% 38%, rgba(9,116,160,.9), rgba(5,48,71,.98) 64%),
    linear-gradient(#094e70,#052e45);
  border: 2px solid rgba(0, 189, 255, .62);
  border-radius: 13px 13px 4px 4px;
  box-shadow: 0 16px 32px rgba(0,0,0,.45), inset 0 0 38px rgba(0,0,0,.28);
}
.club-shell::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.055), transparent 55%);
}

.brand { position: absolute; left: 22px; top: -9px; z-index: 15; width: 286px; height: 96px; padding: 0; background: transparent; border: 0; overflow: visible; }
.brand-logo { display:block; width:100%; height:100%; object-fit:contain; object-position:left center; pointer-events:none; filter:drop-shadow(0 7px 4px rgba(0,0,0,.38)); transition:transform .18s ease, filter .18s ease; }
.brand:hover .brand-logo { transform:translateY(-1px) scale(1.015); filter:drop-shadow(0 9px 6px rgba(0,0,0,.42)) brightness(1.05); }

.top-tabs { position: absolute; left: 310px; top: 2px; right: 0; height: 62px; display: flex; z-index: 12; }
.top-tab {
  height: 54px; min-width: 250px; padding: 0 34px;
  color: #9b2f00; font-size: 19px; font-weight: 950; text-shadow: 0 1px 0 rgba(255,255,255,.65);
  background: linear-gradient(#fff063 0%, #ffc52d 16%, #f6a200 55%, #df8500 100%);
  border-radius: 4px 4px 19px 19px; border: 2px solid rgba(255, 230, 82, .9);
  box-shadow: inset 0 -5px 0 rgba(142,79,0,.28), 0 5px 8px rgba(0,0,0,.35);
}
.top-tab--players { min-width: 250px; }
.top-tab--finish { min-width: 260px; }
.top-tab b { color: #5f2600; }

.left-tabs { position: absolute; left: -42px; top: 92px; width: 58px; z-index: 14; display: flex; flex-direction: column; align-items: end; }
.left-tabs button {
  width: 52px; height: 96px; margin-bottom: -5px; color: #442800; font-weight: 950; font-size: 14px;
  writing-mode: vertical-rl; transform: rotate(180deg);
  background: linear-gradient(90deg,#d68700 0,#ffe86a 28%,#ffb200 74%,#ba6800 100%);
  border: 2px solid rgba(141,79,0,.75); border-radius: 0 14px 14px 0;
  box-shadow: 5px 4px 7px rgba(0,0,0,.36), inset -4px 0 0 rgba(255,255,255,.24);
}
.left-tabs button span { display: block; }

.screen { position: absolute; inset: 0; display: none; }
.screen.is-active { display: block; }
.screen--menu { padding-top: 84px; }
.menu-heading { position: absolute; left: 410px; top: 84px; width: 280px; text-align: center; color: #eaffff; text-shadow: 0 2px 2px #000; }
.menu-heading b { display: block; font-size: 22px; }
.menu-heading span { font-size: 13px; opacity: .78; }

.game-grid { position: absolute; left: 90px; top: 110px; width: 900px; display: grid; gap: 50px 84px; }
.game-grid--two { left: 195px; top: 172px; grid-template-columns: repeat(2, 315px); column-gap: 110px; justify-content: center; }
.game-card { position: relative; height: 220px; outline: none; }
.game-card--big { height: 280px; }
.game-card__count { position: absolute; top: -18px; right: 88px; color: #f0f7ff; font-size: 20px; font-weight: 950; text-shadow: 0 2px 3px #000; z-index: 4; }
.game-card__plate {
  position: absolute; left: 55px; top: 12px; width: 184px; height: 148px; border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, #1194c8 0 52%, transparent 53%),
    radial-gradient(circle at 50% 50%, #e4ae42 0 61%, #8a5411 62% 69%, transparent 70%);
  box-shadow: 0 12px 8px rgba(0,0,0,.48), inset 0 0 0 12px rgba(121,72,10,.25);
}
.game-card__plate::before, .game-card__plate::after { content:""; position: absolute; width: 22px; height: 36px; background: #c88b2c; border-radius: 12px; top: 52px; box-shadow: inset 0 2px 0 rgba(255,255,255,.25); }
.game-card__plate::before { left: -7px; transform: rotate(-8deg); }
.game-card__plate::after { right: -7px; transform: rotate(8deg); }
.game-card h3 {
  position: absolute; left: 0; right: 0; top: 102px; margin: 0; z-index: 6;
  color: #f5f33f; font-size: 30px; line-height: .92; font-weight: 950; text-align: center;
  text-shadow: 2px 2px 0 #062a37, -1px -1px 0 #062a37, 4px 5px 2px rgba(0,0,0,.5);
  transform: rotate(-6deg);
}
.game-card p { position: absolute; left: 45px; top: 202px; width: 210px; margin: 0; text-align: center; font-size: 17px; color: #bdefff; font-weight: 900; text-shadow: 0 2px 2px #000; opacity: .9; }
.game-card:hover { transform: translateY(-4px); filter: brightness(1.08); }
.game-card:hover .game-card__plate { box-shadow: 0 15px 12px rgba(0,0,0,.55), 0 0 22px rgba(255,210,67,.3), inset 0 0 0 12px rgba(121,72,10,.25); }

.icon { position: absolute; inset: 0; }
.icon--texas::before, .icon--texas::after, .icon--durak::before, .icon--durak::after {
  content:""; position: absolute; width: 76px; height: 110px; border-radius: 8px; background: #fff;
  border: 4px solid #fff; box-shadow: 0 5px 8px rgba(0,0,0,.35); top: -8px;
}
.icon--texas::before { left: 42px; transform: rotate(-12deg); background: #fff; }
.icon--texas::after { left: 98px; transform: rotate(12deg); background: #fff; }
.icon--texas { color: #d11c27; }
.icon--texas b { color: #d11c27; }
.icon--texas::before { content:"A♥"; font: 900 34px Georgia, serif; color:#d11c27; padding: 18px 0 0 10px; }
.icon--texas::after { content:"A♦"; font: 900 34px Georgia, serif; color:#d11c27; padding: 18px 0 0 10px; }
.icon--durak::before { left: 35px; transform: rotate(-12deg); content:"6♣"; font: 900 34px Georgia, serif; color:#111; padding: 18px 0 0 10px; }
.icon--durak::after { left: 94px; transform: rotate(12deg); content:"9♠"; font: 900 34px Georgia, serif; color:#111; padding: 18px 0 0 10px; }

.scroll-knob { position: absolute; right: 42px; top: 110px; width: 18px; height: 190px; border-radius: 14px; background: linear-gradient(#16a6da,#037bac); box-shadow: inset 0 0 10px rgba(0,0,0,.25), 0 0 6px rgba(0,205,255,.28); opacity: .9; }
.scroll-knob b { position: absolute; left: -3px; bottom: -302px; width: 24px; height: 18px; border-radius: 6px; background: #0a638d; box-shadow: inset 0 -2px 4px rgba(0,0,0,.35); }
.ticker { position: absolute; left: 270px; bottom: 96px; width: 595px; height: 32px; overflow: hidden; background: #030303; border-radius: 3px; box-shadow: inset 0 0 0 2px rgba(0,0,0,.75); }
.ticker span { display: inline-block; white-space: nowrap; padding-left: 560px; line-height: 32px; color: #ffab34; font-size: 20px; font-weight: 950; text-shadow: 0 0 3px #511; animation: ticker 14s linear infinite; }
@keyframes ticker { to { transform: translateX(-1120px); } }
.help-btn, .support-btn, .lobby-back, .big-lobby {
  position: absolute; background: radial-gradient(circle at 40% 35%, #fff16d 0 16%, #ffcf22 17% 55%, #a86c02 56% 100%);
  color: #4d2800; font-weight: 950; text-shadow: 0 1px 0 rgba(255,255,255,.55);
  box-shadow: 0 8px 8px rgba(0,0,0,.5), inset 0 0 0 6px rgba(127,74,0,.28);
}
.help-btn { right: 30px; bottom: 64px; width: 96px; height: 86px; border-radius: 50%; font-size: 18px; }
.support-btn { right: 28px; bottom: 28px; width: 118px; height: 22px; border-radius: 12px; font-size: 11px; }

.bottom-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 138px; pointer-events: none; z-index: 25; }
.profile-card { pointer-events: auto; position: absolute; left: 0; bottom: 0; width: 178px; height: 130px; background: linear-gradient(145deg, rgba(8,69,97,.96), rgba(4,28,43,.98)); border-radius: 24px 24px 0 0; color: white; box-shadow: 0 -7px 14px rgba(0,0,0,.28); }
.profile-avatar {
  position: absolute; left: 47px; top: 14px; width: 78px; height: 76px;
  border-radius: 18px 18px 9px 9px;
  background: linear-gradient(180deg,#eef8ff 0%,#c9d8df 45%,#7c929d 100%);
  border: 2px solid rgba(236,248,255,.9);
  box-shadow: 0 7px 8px rgba(0,0,0,.45), inset 0 3px 4px rgba(255,255,255,.65), inset 0 -12px 14px rgba(20,48,62,.18);
  overflow: hidden;
}
.profile-avatar::before {
  content:""; position:absolute; left: 25px; top: 11px; width: 27px; height: 27px;
  border-radius: 50%; background: linear-gradient(#f8fbff,#cfdce3); box-shadow: 0 2px 2px rgba(0,0,0,.18);
}
.profile-avatar::after {
  content:""; position:absolute; left: 13px; bottom: -8px; width: 52px; height: 43px;
  border-radius: 50% 50% 18px 18px; background: linear-gradient(#d9e8ef,#8fa6b1); box-shadow: inset 0 4px 5px rgba(255,255,255,.35);
}
.profile-avatar.has-image { background-size: cover; background-position: center; border-radius: 14px; }
.profile-avatar.has-image::before, .profile-avatar.has-image::after { display: none; }
.profile-card strong { position: absolute; left: 35px; bottom: 38px; min-width: 104px; padding: 2px 7px 3px; border: 3px solid #f2db22; border-radius: 9px; color: #fff; background: #16435d; text-shadow: 0 2px 2px #000; font-size: 17px; }
.profile-card em { position: absolute; left: 0; right: 0; bottom: 0; color: #64ff19; font-style: normal; font-size: 30px; text-align: center; background: #010101; }
.profile-card.is-user strong { color: #fff; }
.profile-card.is-user::after { display: none; }

.profile-card.is-guest { width: 178px; height: 130px; background: transparent; box-shadow: none; border-radius: 0; }
.profile-card.is-guest .profile-avatar { display: none; }
.profile-card.is-guest strong {
  left: 34px; bottom: 30px; min-width: 124px; height: 42px; line-height: 32px; font-size: 19px;
  background: linear-gradient(#fff16f,#ffbd18,#d37c00); color:#2c1b00; text-shadow: 0 1px 0 rgba(255,255,255,.6);
  border-color:#fee739; box-shadow:0 6px 8px rgba(0,0,0,.38), inset 0 -4px rgba(117,69,0,.25);
}
.profile-card.is-guest em { display: none; }
.app.is-guest .rating { display: none; }
.app.is-guest .profile-card::after { display: none; }
.app.is-guest .small-cabinet { left: 150px; }
.small-cabinet { left: 150px; }
.small-cabinet { pointer-events: auto; position: absolute; left: 155px; bottom: 16px; width: 58px; height: 58px; border-radius: 50%; background: radial-gradient(circle at 40% 35%,#fff06d,#f4a405 65%,#8d4d00); color:#fff; font-size: 11px; font-weight: 950; line-height: 1; text-shadow: 0 2px 1px #000; box-shadow: 0 4px 5px #0008; }
.bottom-buttons { pointer-events: auto; position: absolute; left: 300px; bottom: 15px; height: 76px; display: flex; gap: 20px; align-items: end; }
.bottom-buttons button {
  width: 76px; height: 70px; border-radius: 50%; color:#fffbd1; font-size: 16px; font-weight: 950; line-height: .92;
  background: radial-gradient(circle at 44% 34%, #fff26a 0 18%, #ffcc22 19% 57%, #9b5a00 58% 100%);
  text-shadow: 0 2px 0 #543000, 0 0 3px #000; box-shadow: 0 8px 7px rgba(0,0,0,.48), inset 0 0 0 7px rgba(133,76,0,.3);
}
.rating { position: absolute; right: 0; bottom: 0; width: 186px; height: 58px; background: #010101; color: #67ff22; font-size: 28px; line-height: 58px; text-align: center; border-radius: 26px 0 0 0; text-shadow: 0 0 4px #113; }

/* lobby */
.screen--lobby h1 { position: absolute; top: 62px; left: 0; right: 0; text-align: center; margin: 0; color: #e6f7ff; font-size: 22px; font-weight: 950; text-shadow: 0 2px 2px #000; }
.lobby-table-wrap { position: absolute; left: 46px; top: 95px; width: 870px; height: 500px; border: 2px solid rgba(32,170,221,.9); border-radius: 8px; overflow: hidden; background: rgba(39,102,151,.85); box-shadow: inset 0 0 18px rgba(0,0,0,.25); }
.lobby-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-weight: 900; color: #e8eff4; }
.lobby-table th { height: 44px; color: #ffe24b; font-size: 17px; text-transform: uppercase; background: rgba(8,58,83,.78); border: 2px solid rgba(16,160,213,.65); text-shadow: 0 2px 2px #000; }
.lobby-table td { height: 36px; border: 2px solid rgba(16,160,213,.48); text-align: center; font-size: 16px; background: rgba(50,112,161,.55); }
.lobby-table tr.is-selected td { background: rgba(40, 181, 242, .34); }
.people { display: inline-block; letter-spacing: -3px; font-size: 23px; color: #e8f7ff; }
.people i { color: #62ff6c; font-style: normal; }
.people em { color: rgba(0,174,230,.28); font-style: normal; }
.lobby-side { position: absolute; right: 26px; top: 70px; width: 244px; bottom: 116px; }
.create-table { width: 100%; height: 58px; color:#8b3000; font-size: 19px; font-weight: 950; background: linear-gradient(#fff36e,#ffc625 24%,#e38900); border-radius: 2px 2px 18px 18px; box-shadow: 0 5px 7px rgba(0,0,0,.45), inset 0 -4px rgba(120,70,0,.25); }
.table-info { height: 166px; padding: 12px; border: 2px solid var(--line); border-top: 0; background: rgba(44,90,132,.92); color: #dbedf7; font-size: 15px; line-height: 1.35; box-shadow: inset 0 0 14px rgba(0,0,0,.25); }
.lobby-buttons { height: 48px; display: flex; gap: 4px; align-items: center; }
.lobby-buttons button { flex: 1; height: 36px; border-radius: 9px; color:#6c3400; font-weight: 950; font-size: 17px; background: linear-gradient(#fff16c,#ffbf1d,#da7c00); box-shadow: inset 0 -4px rgba(105,60,0,.28), 0 3px 5px rgba(0,0,0,.38); }
.player-list { position: absolute; left: 0; right: 0; top: 272px; bottom: 55px; overflow: hidden; padding: 12px; background: #010101; border: 2px solid var(--line); color: #eefaff; font-size: 15px; }
.player-list b { display: block; text-align: center; margin-bottom: 12px; }
.player-list p { margin: 9px 0; }
.player-list span { float: right; margin-left: 5px; width: 18px; height: 18px; border-radius: 50%; background: #00aeea; color:#051a28; text-align: center; line-height: 18px; font-weight: 950; }
.lobby-back { right: 0; bottom: -12px; width: 92px; height: 78px; border-radius: 50%; color: #fff961; background: radial-gradient(circle at 40% 35%,#1b1b5d 0 32%,#090640 33% 66%,#b77805 67%); font-size: 25px; text-shadow: 0 3px 2px #000; }
.lobby-loader { position: absolute; left: 255px; top: 220px; width: 580px; height: 370px; display: grid; place-items: center; color: #e8faff; font-size: 20px; font-weight: 950; text-shadow: 0 2px 2px #000; background: rgba(8,55,82,.96); border: 3px solid rgba(0,177,236,.75); border-radius: 28px; box-shadow: 0 8px 16px rgba(0,0,0,.45), inset 0 0 22px rgba(0,177,236,.18); z-index: 80; }
.lobby-loader--warming { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; text-align:center; }
.lobby-loader--warming b { font-size:22px; }
.lobby-loader--warming small { font-size:13px; color:#a9dff3; letter-spacing:.2px; }
.lobby-loader__spinner { width:54px; height:54px; border-radius:50%; border:6px solid rgba(255,255,255,.16); border-top-color:#ffdb3f; border-right-color:#22c7ff; box-shadow:0 0 18px rgba(34,199,255,.32); animation:lobby-loader-spin .8s linear infinite; }
@keyframes lobby-loader-spin { to { transform:rotate(360deg); } }

/* table */
.app--table .club-shell { left: 205px; width: 1120px; }
.app--table .brand, .app--table .top-tabs, .app--table .left-tabs { display: none; }
.app--table .bottom-buttons { left: 470px; }
.app--table .profile-card { left: 2px; }
.table-area { position: absolute; left: 0; top: 0; width: 845px; height: 635px; overflow: hidden; border: 2px solid var(--line); border-radius: 12px; background: radial-gradient(circle at 38% 31%, rgba(255,255,255,.1), transparent 24%), radial-gradient(circle at 25% 20%, transparent 0 3px, rgba(255,255,255,.045) 3.5px 4px, transparent 4.5px 100%), linear-gradient(135deg,#48687c,#25495c 42%,#6d8591); background-size: auto, 12px 12px, auto; box-shadow: inset 0 0 18px rgba(0,0,0,.38); }
.felt-wall { position: absolute; inset: 0; background: repeating-radial-gradient(circle at 29% 29%, rgba(255,255,255,.045) 0 2px, transparent 2px 8px); opacity: .7; }
.table-title { position: absolute; top: 10px; left: 0; right: 0; z-index: 5; text-align: center; font-size: 22px; font-weight: 950; text-shadow: 0 2px 2px #000; }
.green-table { position: absolute; left: 240px; top: 225px; width: 510px; height: 245px; border-radius: 50%; background: radial-gradient(circle at 50% 50%, #2dff72, #058c2e 55%, #005519); border: 10px solid #b8c7c9; box-shadow: 0 20px 15px rgba(0,0,0,.36), inset -34px -36px 34px rgba(0,0,0,.2); transform: rotate(-3deg); }
.green-table::after { content:""; position: absolute; left: 110px; top: 155px; width: 200px; height: 70px; border-radius: 60% 0 0 0; background: rgba(255,255,255,.08); }
.pot-label { position: absolute; left: 245px; top: 4px; width: 96px; height: 48px; border-radius: 0 0 20px 20px; background: rgba(0,0,0,.18); text-align: center; color: rgba(0,0,0,.35); font-size: 20px; font-weight: 950; transform: rotate(3deg); }
.deck-3d { position: absolute; right: 20px; bottom: -18px; width: 70px; height: 62px; transform: rotate(15deg); }
.deck-3d::before { content:""; position: absolute; left: 0; top: 18px; width: 68px; height: 44px; background: repeating-linear-gradient(180deg,#f1f1f1 0 3px,#b7b7b7 3px 5px); transform: skewY(-12deg); box-shadow: 0 3px 4px rgba(0,0,0,.35); }
.deck-3d i { position: absolute; left: 16px; top: 0; width: 58px; height: 78px; border: 5px solid #fff; border-radius: 4px; background: linear-gradient(135deg,#0a8a22,#00631b); box-shadow: 0 5px 6px rgba(0,0,0,.35); }
.card { position: absolute; width: 58px; height: 86px; border-radius: 7px; border: 5px solid #fff; box-shadow: 0 6px 7px rgba(0,0,0,.35); background: #fff; font: 900 29px Georgia, serif; padding: 16px 0 0 10px; }
.card--back { background: linear-gradient(135deg,#0a8a22,#00631b); }
.card--d1 { left: 145px; top: 93px; transform: rotate(0deg); }
.card--d2 { left: 215px; top: 90px; transform: rotate(0deg); }
.attack-card { left: 330px; top: 91px; color:#111; transform: rotate(-14deg); }
.defend-card { left: 390px; top: 89px; color:#111; transform: rotate(11deg); }
.player-seat { position: absolute; z-index: 10; text-align: center; width: 115px; }
.avatar { margin: 0 auto 3px; width: 74px; height: 76px; border-radius: 8px 8px 3px 3px; border: 2px solid #b8c7c9; background: linear-gradient(#f2b466 0 48%,#275d1a 49%); position: relative; overflow: hidden; }
.avatar::before { content:""; position:absolute; left: 24px; top: 9px; width: 25px; height:25px; background: #ffcf9b; border-radius: 50%; }
.avatar--ghost { background: linear-gradient(#eff7ff,#9aaab1); clip-path: polygon(45% 0,67% 19%,68% 60%,94% 100%,4% 100%,32% 60%,33% 19%); border: 0; }
.avatar--ghost::before { display:none; }
.avatar--bot { background: linear-gradient(#1fb153,#00702b); border-radius: 50% 50% 6px 6px; }
.player-seat b, .player-seat span, .player-seat em { display:block; margin: 2px auto; width: 95px; min-height: 24px; line-height: 22px; border: 3px solid #f0d71f; border-radius: 7px; background: #16415b; color:#fff; font-size: 16px; font-weight: 950; text-shadow: 0 2px 1px #000; }
.player-seat em { background: #fd1d28; font-style: normal; }
.player-seat--top { left: 270px; top: 44px; }
.player-seat--left { left: 30px; top: 222px; }
.player-seat--bottom { left: 235px; top: 410px; }
.sit-btn, .exit-btn { position:absolute; bottom: 14px; width: 120px; height: 26px; border-radius: 15px; color:#fff; font-weight: 900; background: linear-gradient(#d8eef8,#7daac0 54%,#315a72); text-shadow: 0 1px 1px #000; box-shadow: inset 0 2px rgba(255,255,255,.32); }
.sit-btn { right: 150px; }.exit-btn { right: 35px; }
.room-panel { position:absolute; right: 0; top: 0; width: 255px; bottom: 112px; }
.room-list { height: 235px; padding: 12px 14px; border: 2px solid var(--line); border-radius: 6px; background:#010101; overflow:hidden; }
.room-list h3 { margin:0 0 10px; font-size:14px; color:#fff; }
.room-list ol { margin: 0; padding: 0; list-style: none; color:#fff; font-size:17px; font-weight: 900; counter-reset: item; }
.room-list li { margin:8px 0; counter-increment:item; }
.room-list li::before { content: counter(item) ". "; color:#20ff74; }
.room-list span { float:right; margin-left:7px; width:18px; height:18px; border-radius:50%; background:#00aeea; color:#062033; text-align:center; line-height:18px; font-size:13px; font-weight:950; }
.room-list small { display:block; margin:7px 0 6px 28px; font-size:13px; font-weight:950; }
.tabs-mini { height: 38px; display:flex; align-items:end; }
.tabs-mini button { flex:1; height: 32px; color:#fff; font-weight:950; font-size:18px; background: linear-gradient(#2784b4,#0b4a6d); border:2px solid var(--line); border-radius: 7px 7px 0 0; text-shadow:0 2px 1px #000; }
.chat-box { height: 318px; padding: 12px; border: 2px solid var(--line); border-top: 0; background: rgba(8,60,87,.9); overflow-y:auto; font-size:16px; }
.chat-box p { margin:0 0 8px; }
.chat-form { display:flex; height: 42px; padding: 5px 0; }
.chat-form input { flex:1; background: rgba(255,255,255,.12); border:2px solid var(--line); border-radius: 6px; color:white; padding:0 10px; outline:none; }
.chat-form button { margin-left:8px; width: 46px; height:46px; border-radius:50%; color:#fff; font-size:11px; text-transform:uppercase; font-weight:950; background:radial-gradient(circle at 40% 35%,#dfff64,#57c909 70%,#2d8100); box-shadow:0 4px 5px rgba(0,0,0,.35); }
.big-lobby { right: 0; bottom: -90px; width: 100px; height: 88px; border-radius:50%; color:#fff961; background: radial-gradient(circle at 40% 35%,#1b1b5d 0 32%,#090640 33% 66%,#b77805 67%); font-size:26px; }

/* modals */
.modal { position: fixed; inset: 0; z-index: 600; display: none; place-items: center; background: rgba(1,23,36,.38); }
.modal.is-active { display: grid; }
.modal__box { position: relative; width: 565px; min-height: 385px; border: 2px solid rgba(20,172,224,.8); border-radius: 22px; background: linear-gradient(rgba(12,72,105,.92), rgba(5,41,63,.96)); box-shadow: 0 15px 30px rgba(0,0,0,.5), inset 0 0 35px rgba(20,172,224,.22); padding: 34px 40px 28px; color:#fff; text-align:center; }
.modal--wide .modal__box { width: 780px; min-height: 505px; }
.modal__box::before { content:""; position:absolute; left: 55px; right: 55px; top: 72px; bottom: 76px; border: 2px solid rgba(20,172,224,.55); border-radius: 16px; box-shadow: inset 0 0 22px rgba(0,0,0,.18); pointer-events:none; }
.modal__close { position:absolute; top: 10px; right: 20px; width: 34px; height:34px; background:transparent; color:#d6eff9; font-size:32px; font-weight:950; text-shadow:0 2px 2px #000; z-index:5; }
.modal h2 { margin: -6px 0 16px; font-size:29px; font-weight:950; text-shadow:0 2px 2px #000; }
.welcome-art { position: relative; z-index: 2; height: 170px; width: 520px; margin: 24px auto 2px; }
.chips-art { position:absolute; left: 40px; bottom: 26px; width:82px; height:60px; background: radial-gradient(circle at 35% 25%, #fff 0 8%, #d61725 9% 45%, #fff 46% 58%, #d61725 59% 100%); border-radius:50%; filter: drop-shadow(0 10px 2px rgba(0,0,0,.3)); }
.chips-art::before, .chips-art::after { content:""; position:absolute; width:66px; height:18px; border-radius:50%; background: repeating-linear-gradient(90deg,#d51725 0 12px,#fff 12px 20px); left:-12px; bottom:-10px; box-shadow: 0 -13px 0 rgba(225,23,35,.95), 0 -26px 0 rgba(225,23,35,.9); }
.balls-art { position:absolute; left: 115px; top: 75px; display:flex; gap:4px; align-items:end; }
.balls-art i { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:radial-gradient(circle at 35% 30%,#fff,#ecc226 24%,#c58000); color:#222; font:900 17px Arial; box-shadow:0 6px 3px rgba(0,0,0,.28); }
.balls-art i:nth-child(2){background:radial-gradient(circle at 35% 30%,#fff,#bec7ff 24%,#4261d9)}.balls-art i:nth-child(3){background:radial-gradient(circle at 35% 30%,#fff,#ff9aa3 24%,#d62035); transform:translateY(-23px)}.balls-art i:nth-child(4){background:radial-gradient(circle at 35% 30%,#fff,#e5b5ff 24%,#8c40b8)}.balls-art i:nth-child(5){background:radial-gradient(circle at 35% 30%,#fff,#9be77a 24%,#228d25)}
.horse-art { position:absolute; left: 246px; top: 14px; width:88px; height:115px; background:#d66d00; clip-path: polygon(43% 0,70% 10%,84% 27%,77% 50%,96% 73%,74% 100%,26% 100%,36% 74%,17% 49%,32% 25%); filter: drop-shadow(0 8px 3px rgba(0,0,0,.35)); }
.cards-art b { position:absolute; top: 28px; width:72px; height:104px; border-radius:8px; background:white; color:#d11b28; box-shadow:0 8px 3px rgba(0,0,0,.27); font:900 26px Georgia; padding-top:14px; }
.cards-art b:first-child { left: 315px; transform: rotate(-9deg); }.cards-art b:last-child { left: 365px; transform: rotate(12deg); }
.cash-art { position:absolute; right: 28px; top: 54px; width:92px; height:62px; background: repeating-linear-gradient(180deg,#efffe9 0 10px,#cad8bc 10px 16px); transform:skewY(-13deg); filter:drop-shadow(0 10px 3px rgba(0,0,0,.25)); }
.modal-lead { position: relative; z-index:2; margin: 6px 0 18px; color:#fff250; font-size:25px; font-style:italic; font-weight:950; text-shadow:0 2px 2px #000; }
.modal-copy { position: relative; z-index:2; margin:0 0 24px; font-size:21px; font-style:italic; font-weight:900; line-height:1.45; text-shadow:0 2px 2px #000; }
.modal-actions { position: relative; z-index:3; display:flex; gap:70px; justify-content:center; }
.modal-actions button { min-width: 250px; height:38px; border-radius:18px; color:#2d1a00; font-weight:950; font-size:17px; background: linear-gradient(#fff16e,#ffc51e,#d77b00); box-shadow: inset 0 -4px rgba(100,60,0,.28), 0 5px 5px rgba(0,0,0,.35); text-shadow:0 1px 0 rgba(255,255,255,.5); }
.modal-actions--single button { min-width: 225px; }
.modal__box--form { width: 470px; min-height: 460px; padding: 34px 54px 26px; }
.modal__box--form label { position: relative; z-index:2; display:grid; grid-template-columns: 150px 1fr; gap: 12px; align-items:center; margin: 11px 0; text-align:right; font-weight:950; font-style:italic; color:#d7edf7; text-shadow:0 2px 1px #000; }
.modal__box--form input { height: 31px; background:#f7fbff; border:2px solid #244252; outline:none; padding:0 8px; color:#0b2431; user-select:text; }
.modal__box--form .agree { grid-template-columns: 26px 1fr; text-align:left; margin: 25px 0 8px; padding-left: 66px; }
.agree input { width:22px; height:22px; }
.agree b { font-size:14px; }
.form-message { position:relative; z-index:2; min-height:20px; margin: 6px 0 16px; color:#ffed54; font-weight:900; text-align:center; }
.form-message.is-error { color:#ff7777; }.form-message.is-ok { color:#76ff86; }
.link-switch { position:relative; z-index:3; margin-top: 16px; background:transparent; color:#ccefff; text-decoration: underline; font-weight: 800; }
.modal__box--profile { width: 710px; min-height: 520px; padding: 32px 48px 26px; }
.modal__box--profile::before { left: 36px; right: 36px; top: 74px; bottom: 82px; }
.cabinet-layout { position:relative; z-index:2; display:grid; grid-template-columns: 190px 1fr; gap: 26px; align-items:start; margin-top: 18px; text-align:left; }
.avatar-panel { display:flex; flex-direction:column; align-items:center; gap: 12px; padding-top: 8px; }
.profile-avatar--large { position:relative; left:auto; top:auto; width: 126px; height: 126px; border-radius: 22px; }
.profile-avatar--large::before { left: 42px; top: 22px; width: 42px; height: 42px; }
.profile-avatar--large::after { left: 23px; bottom: -8px; width: 80px; height: 68px; }
.avatar-upload { display:block; width: 168px; height: 36px; border-radius: 18px; color:#2b1a00; font-weight:950; text-align:center; line-height:36px; background: linear-gradient(#fff16d,#ffc31c,#d97d00); box-shadow: inset 0 -4px rgba(100,60,0,.26), 0 4px 5px rgba(0,0,0,.35); cursor:pointer; text-shadow:0 1px 0 rgba(255,255,255,.5); }
.avatar-upload input { display:none; }
.avatar-reset { width: 132px; height: 28px; border-radius: 14px; color:#dff7ff; font-weight:900; background: linear-gradient(#236d92,#0b4563); border:1px solid rgba(31,185,235,.75); box-shadow: inset 0 2px rgba(255,255,255,.12); }
.cabinet-fields { display:grid; gap: 10px; padding-right: 10px; }
.cabinet-fields label { display:grid; grid-template-columns: 160px 1fr; gap: 12px; align-items:center; color:#d7edf7; font-weight:950; font-style:italic; text-shadow:0 2px 1px #000; }
.cabinet-fields span { text-align:right; }
.cabinet-fields input, .cabinet-fields select { height: 32px; background:#f7fbff; border:2px solid #244252; outline:none; padding:0 9px; color:#0b2431; user-select:text; }
.cabinet-fields input[readonly] { color:#e8fbff; background: rgba(0,0,0,.22); border-color: rgba(31,185,235,.58); cursor:default; }
.cabinet-fields select { cursor:pointer; }
.cabinet-actions { gap: 30px; margin-top: 8px; }
.cabinet-actions button { min-width: 185px; }
#cabinetLogoutBtn { display:inline-block; }


@media (max-width: 600px) {
  .modal__box { transform: scale(.82); }
}


.app--table .table-title { left: 0; right: 255px; }
.app--table .green-table { width: 560px; height: 260px; }
.app--table .sit-btn { right: 170px; }
.app--table .exit-btn { right: 35px; }


/* --- update: cabinet button, statuses, VIP frames/wreaths --- */
.small-cabinet,
.app.is-guest .small-cabinet {
  left: 192px;
  bottom: 17px;
  z-index: 35;
}

.profile-card .profile-avatar { z-index: 3; }
.profile-card strong { z-index: 5; transition: color .25s ease, text-shadow .25s ease, border-color .25s ease, box-shadow .25s ease; }
.profile-card em { z-index: 5; }
.profile-card.status-normal strong { color:#fff; }
.profile-card.status-club strong {
  color:#65dcff;
  border-color:#44c9ff;
  box-shadow:0 0 10px rgba(30,192,255,.45), inset 0 0 8px rgba(80,210,255,.16);
}
.profile-card.status-vip strong {
  color:#d782ff;
  border-color:#b459ff;
  box-shadow:0 0 12px rgba(184,64,255,.55), inset 0 0 8px rgba(207,100,255,.24);
}
.profile-card.status-vip-gold strong {
  color:#ffdf38;
  border-color:#ffcc22;
  background:linear-gradient(#63420a,#1a3d54 45%,#08304a);
  text-shadow:0 2px 2px #000, 0 0 8px #ff9a00;
  box-shadow:0 0 14px rgba(255,200,34,.7), inset 0 0 9px rgba(255,217,68,.34);
}
.profile-card.status-vip-platinum strong {
  color:#f4fbff;
  border-color:#d9f3ff;
  background:linear-gradient(#516a79,#173f58 45%,#092d44);
  text-shadow:0 2px 2px #000, 0 0 10px #e8fbff;
  box-shadow:0 0 16px rgba(225,249,255,.8), inset 0 0 10px rgba(255,255,255,.34);
  animation: platinumNickShine 2.4s ease-in-out infinite;
}
@keyframes platinumNickShine { 0%,100%{filter:brightness(1)} 50%{filter:brightness(1.35)} }

.profile-card.status-vip-gold::before,
.profile-card.status-vip-platinum::before {
  content:"";
  position:absolute;
  left:18px;
  top:-6px;
  width:136px;
  height:118px;
  border-radius:50%;
  z-index:2;
  pointer-events:none;
  filter:drop-shadow(0 5px 5px rgba(0,0,0,.45));
}
.profile-card.status-vip-gold::before {
  background:
    radial-gradient(ellipse at 19% 54%, #fff36b 0 8px, #d87800 9px 15px, transparent 16px),
    radial-gradient(ellipse at 26% 38%, #fff36b 0 7px, #df8500 8px 13px, transparent 14px),
    radial-gradient(ellipse at 34% 26%, #fff36b 0 6px, #df8500 7px 12px, transparent 13px),
    radial-gradient(ellipse at 81% 54%, #fff36b 0 8px, #d87800 9px 15px, transparent 16px),
    radial-gradient(ellipse at 74% 38%, #fff36b 0 7px, #df8500 8px 13px, transparent 14px),
    radial-gradient(ellipse at 66% 26%, #fff36b 0 6px, #df8500 7px 12px, transparent 13px),
    radial-gradient(ellipse at 50% 92%, #ffd843 0 23px, #bd7000 24px 31px, transparent 32px);
}
.profile-card.status-vip-platinum::before {
  background:
    radial-gradient(ellipse at 19% 54%, #ffffff 0 8px, #9fb6c7 9px 15px, transparent 16px),
    radial-gradient(ellipse at 26% 38%, #ffffff 0 7px, #acbfce 8px 13px, transparent 14px),
    radial-gradient(ellipse at 34% 26%, #ffffff 0 6px, #bccbd7 7px 12px, transparent 13px),
    radial-gradient(ellipse at 81% 54%, #ffffff 0 8px, #9fb6c7 9px 15px, transparent 16px),
    radial-gradient(ellipse at 74% 38%, #ffffff 0 7px, #acbfce 8px 13px, transparent 14px),
    radial-gradient(ellipse at 66% 26%, #ffffff 0 6px, #bccbd7 7px 12px, transparent 13px),
    radial-gradient(ellipse at 50% 92%, #f8ffff 0 23px, #879bac 24px 31px, transparent 32px);
  animation: platinumSpark 1.8s ease-in-out infinite;
}
.profile-card.status-vip-gold::after,
.profile-card.status-vip-platinum::after {
  content:"✦";
  position:absolute;
  z-index:7;
  left:112px;
  top:10px;
  font-size:18px;
  pointer-events:none;
}
.profile-card.status-vip-gold::after { color:#fff071; text-shadow:0 0 8px #ff9800; animation: goldSpark 2.2s ease-in-out infinite; }
.profile-card.status-vip-platinum::after { color:#f7ffff; text-shadow:0 0 10px #c7f6ff; animation: platinumSpark 1.4s ease-in-out infinite; }
@keyframes goldSpark { 0%,100%{opacity:.55; transform:scale(.85) rotate(0)} 50%{opacity:1; transform:scale(1.22) rotate(25deg)} }
@keyframes platinumSpark { 0%,100%{opacity:.55; filter:brightness(1); transform:scale(.9) rotate(0)} 50%{opacity:1; filter:brightness(1.5); transform:scale(1.25) rotate(22deg)} }

.avatar-stage {
  position:relative;
  width:172px;
  height:164px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:2px;
}
.avatar-stage .profile-avatar--large { z-index:3; }
.avatar-stage.status-vip-gold::before,
.avatar-stage.status-vip-platinum::before {
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  z-index:2;
  pointer-events:none;
  filter:drop-shadow(0 9px 8px rgba(0,0,0,.5));
}
.avatar-stage.status-vip-gold::before {
  background:
    radial-gradient(ellipse at 15% 57%, #fff36d 0 11px, #d77c00 12px 22px, transparent 23px),
    radial-gradient(ellipse at 22% 42%, #fff36d 0 10px, #d77c00 11px 19px, transparent 20px),
    radial-gradient(ellipse at 31% 29%, #fff36d 0 9px, #d77c00 10px 17px, transparent 18px),
    radial-gradient(ellipse at 40% 20%, #fff36d 0 8px, #d77c00 9px 15px, transparent 16px),
    radial-gradient(ellipse at 85% 57%, #fff36d 0 11px, #d77c00 12px 22px, transparent 23px),
    radial-gradient(ellipse at 78% 42%, #fff36d 0 10px, #d77c00 11px 19px, transparent 20px),
    radial-gradient(ellipse at 69% 29%, #fff36d 0 9px, #d77c00 10px 17px, transparent 18px),
    radial-gradient(ellipse at 60% 20%, #fff36d 0 8px, #d77c00 9px 15px, transparent 16px),
    radial-gradient(ellipse at 50% 86%, #ffd84a 0 31px, #ba6c00 32px 41px, transparent 42px);
}
.avatar-stage.status-vip-platinum::before {
  background:
    radial-gradient(ellipse at 15% 57%, #ffffff 0 11px, #9fb4c5 12px 22px, transparent 23px),
    radial-gradient(ellipse at 22% 42%, #ffffff 0 10px, #aabccc 11px 19px, transparent 20px),
    radial-gradient(ellipse at 31% 29%, #ffffff 0 9px, #b6c7d5 10px 17px, transparent 18px),
    radial-gradient(ellipse at 40% 20%, #ffffff 0 8px, #c7d5df 9px 15px, transparent 16px),
    radial-gradient(ellipse at 85% 57%, #ffffff 0 11px, #9fb4c5 12px 22px, transparent 23px),
    radial-gradient(ellipse at 78% 42%, #ffffff 0 10px, #aabccc 11px 19px, transparent 20px),
    radial-gradient(ellipse at 69% 29%, #ffffff 0 9px, #b6c7d5 10px 17px, transparent 18px),
    radial-gradient(ellipse at 60% 20%, #ffffff 0 8px, #c7d5df 9px 15px, transparent 16px),
    radial-gradient(ellipse at 50% 86%, #f9ffff 0 31px, #879bab 32px 41px, transparent 42px);
  animation: platinumSpark 1.8s ease-in-out infinite;
}
.avatar-stage.status-vip-gold::after,
.avatar-stage.status-vip-platinum::after,
.status-preview.status-vip-gold::after,
.status-preview.status-vip-platinum::after {
  content:"✦";
  position:absolute;
  z-index:6;
  right:18px;
  top:18px;
  font-size:24px;
  pointer-events:none;
}
.avatar-stage.status-vip-gold::after,
.status-preview.status-vip-gold::after { color:#fff36d; text-shadow:0 0 10px #ff9400; animation:goldSpark 2s ease-in-out infinite; }
.avatar-stage.status-vip-platinum::after,
.status-preview.status-vip-platinum::after { color:#faffff; text-shadow:0 0 12px #d7faff; animation:platinumSpark 1.3s ease-in-out infinite; }

.modal.status-vip-gold .modal__box--profile {
  border-color:#ffd34a;
  box-shadow:0 18px 34px rgba(0,0,0,.58), 0 0 28px rgba(255,190,0,.45), inset 0 0 45px rgba(255,201,54,.12);
}
.modal.status-vip-platinum .modal__box--profile {
  border-color:#e8f8ff;
  box-shadow:0 18px 34px rgba(0,0,0,.58), 0 0 32px rgba(222,249,255,.55), inset 0 0 50px rgba(255,255,255,.13);
  animation: platinumFrame 2.5s ease-in-out infinite;
}
@keyframes platinumFrame { 0%,100%{filter:brightness(1)} 50%{filter:brightness(1.14)} }
.modal.status-vip-gold .modal__box--profile h2 { color:#ffe06a; text-shadow:0 2px 2px #000,0 0 9px #ff9300; }
.modal.status-vip-platinum .modal__box--profile h2 { color:#f4fcff; text-shadow:0 2px 2px #000,0 0 10px #d9f9ff; }

.cabinet-fields input#cabinetStatus.status-normal { color:#e8fbff; }

.modal__box--admin { width: 560px; min-height: 470px; padding: 34px 54px 28px; }
.modal__box--admin label { position:relative; z-index:2; display:grid; grid-template-columns: 115px 1fr; gap:14px; align-items:center; margin:12px 0; text-align:right; color:#d7edf7; font-weight:950; font-style:italic; text-shadow:0 2px 1px #000; }
.modal__box--admin select { height:34px; border:2px solid #1fb9eb; border-radius:6px; background:#eefaff; color:#102b3c; font-weight:800; padding:0 9px; outline:none; }
.admin-note { position:relative; z-index:2; margin:2px auto 18px; max-width:430px; color:#bfe8f6; font-weight:800; line-height:1.25; }
.status-preview { position:relative; z-index:2; width:250px; height:160px; margin:18px auto 8px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:22px; border:2px solid rgba(31,185,235,.55); background:rgba(0,0,0,.16); box-shadow:inset 0 0 18px rgba(0,0,0,.25); }
.status-preview .profile-avatar { position:relative; left:auto; top:auto; width:78px; height:76px; margin-bottom:8px; }
.status-preview__nick { min-width:130px; padding:3px 10px; text-align:center; border:3px solid #f2db22; border-radius:10px; background:#16435d; color:#fff; text-shadow:0 2px 2px #000; }
.status-preview.status-club .status-preview__nick { color:#65dcff; border-color:#44c9ff; box-shadow:0 0 12px rgba(30,192,255,.5); }
.status-preview.status-vip .status-preview__nick { color:#d782ff; border-color:#b459ff; box-shadow:0 0 12px rgba(184,64,255,.55); }
.status-preview.status-vip-gold .status-preview__nick { color:#ffdf38; border-color:#ffcc22; text-shadow:0 2px 2px #000,0 0 8px #ff9800; box-shadow:0 0 14px rgba(255,200,34,.7); }
.status-preview.status-vip-platinum .status-preview__nick { color:#f4fbff; border-color:#d9f3ff; text-shadow:0 2px 2px #000,0 0 10px #e8fbff; box-shadow:0 0 16px rgba(225,249,255,.8); animation:platinumNickShine 2.4s ease-in-out infinite; }
.status-preview.status-vip-gold::before,
.status-preview.status-vip-platinum::before { content:""; position:absolute; top:24px; width:122px; height:108px; border-radius:50%; z-index:-1; filter:drop-shadow(0 5px 5px rgba(0,0,0,.45)); }
.status-preview.status-vip-gold::before { background:radial-gradient(ellipse at 16% 56%, #fff36d 0 8px,#d77c00 9px 15px,transparent 16px),radial-gradient(ellipse at 28% 36%, #fff36d 0 7px,#d77c00 8px 13px,transparent 14px),radial-gradient(ellipse at 84% 56%, #fff36d 0 8px,#d77c00 9px 15px,transparent 16px),radial-gradient(ellipse at 72% 36%, #fff36d 0 7px,#d77c00 8px 13px,transparent 14px),radial-gradient(ellipse at 50% 90%, #ffd84a 0 25px,#ba6c00 26px 34px,transparent 35px); }
.status-preview.status-vip-platinum::before { background:radial-gradient(ellipse at 16% 56%, #fff 0 8px,#9fb4c5 9px 15px,transparent 16px),radial-gradient(ellipse at 28% 36%, #fff 0 7px,#aabccc 8px 13px,transparent 14px),radial-gradient(ellipse at 84% 56%, #fff 0 8px,#9fb4c5 9px 15px,transparent 16px),radial-gradient(ellipse at 72% 36%, #fff 0 7px,#aabccc 8px 13px,transparent 14px),radial-gradient(ellipse at 50% 90%, #f9ffff 0 25px,#879bab 26px 34px,transparent 35px); animation:platinumSpark 1.8s ease-in-out infinite; }

@media (max-width: 600px) {
  .small-cabinet,
  .app.is-guest .small-cabinet { left: 188px; }
}
.cabinet-fields input#cabinetStatus.status-club { color:#65dcff; text-shadow:0 0 7px rgba(101,220,255,.45); }
.cabinet-fields input#cabinetStatus.status-vip { color:#d782ff; text-shadow:0 0 7px rgba(215,130,255,.45); }
.cabinet-fields input#cabinetStatus.status-vip-gold { color:#ffdf38; text-shadow:0 0 8px rgba(255,180,0,.75); border-color:#ffcc22; }
.cabinet-fields input#cabinetStatus.status-vip-platinum { color:#f4fbff; text-shadow:0 0 9px rgba(230,250,255,.8); border-color:#d9f3ff; animation:platinumNickShine 2.4s ease-in-out infinite; }

/* --- update: club chat screen --- */
.left-tabs button[data-action="openClubChat"] {
  filter: brightness(1.04);
}
.left-tabs button[data-action="openClubChat"]:hover {
  filter: brightness(1.15);
  transform: rotate(180deg) translateX(-2px);
}

.app--clubchat .brand,
.app--clubchat .top-tabs,
.app--clubchat .left-tabs {
  display: none;
}
.app--clubchat .club-shell {
  left: 155px;
  top: 18px;
  width: 1190px;
  height: 718px;
  border-radius: 18px 18px 5px 5px;
  background:
    radial-gradient(circle at 48% 36%, rgba(9,105,144,.92), rgba(4,45,67,.98) 68%),
    repeating-radial-gradient(circle at 50% 35%, rgba(255,255,255,.035) 0 2px, transparent 2px 10px),
    linear-gradient(#0b5978,#042f47);
}
.app--clubchat .bottom-buttons { left: 300px; }
.app--clubchat .small-cabinet { left: 190px; }

.club-chat-wrap {
  position: absolute;
  left: 14px;
  right: 14px;
  top: 14px;
  bottom: 102px;
  display: grid;
  grid-template-columns: 815px 1fr;
  gap: 18px;
}
.club-chat-main,
.club-chat-side {
  position: relative;
  border: 2px solid rgba(25,194,235,.78);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(25,129,157,.92), rgba(5,55,78,.97) 78%);
  box-shadow: 0 10px 18px rgba(0,0,0,.42), inset 0 0 28px rgba(0,213,255,.12);
  overflow: hidden;
}
.club-chat-title {
  height: 58px;
  display: flex;
  align-items: center;
  padding: 0 18px;
  background: linear-gradient(#42b5c7, #116b85 62%, rgba(2,41,62,.18));
  color: #cfefff;
  text-shadow: 0 2px 2px #000;
}
.club-chat-title h1 {
  margin: 0 0 0 16px;
  font-size: 30px;
  font-weight: 950;
}
.chat-back {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: white;
  font-size: 42px;
  line-height: 34px;
  font-weight: 950;
  background: radial-gradient(circle at 40% 35%, #7ce5ff, #0872a1 65%, #034768);
  box-shadow: 0 5px 7px rgba(0,0,0,.42), inset 0 2px rgba(255,255,255,.35);
  text-shadow: 0 2px 1px #00334c;
}
.club-chat-history {
  position: absolute;
  left: 14px;
  right: 16px;
  top: 70px;
  bottom: 56px;
  padding: 18px;
  border: 1px solid rgba(20,182,229,.8);
  border-radius: 14px;
  background: rgba(5,40,61,.72);
  box-shadow: inset 0 0 22px rgba(0,0,0,.28);
  overflow-y: auto;
  font-size: 18px;
}
.club-chat-history::-webkit-scrollbar,
.club-chat-users::-webkit-scrollbar { width: 14px; }
.club-chat-history::-webkit-scrollbar-track,
.club-chat-users::-webkit-scrollbar-track { background: rgba(0,0,0,.18); border-radius: 12px; }
.club-chat-history::-webkit-scrollbar-thumb,
.club-chat-users::-webkit-scrollbar-thumb { background: linear-gradient(#5ed9ef,#0b7ba4); border-radius: 12px; border: 2px solid rgba(4,45,67,.9); }
.system-line {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 2px 6px;
  color: #163041;
  background: rgba(255,255,255,.9);
  font-size: 13px;
  font-weight: 400;
  text-shadow: none;
}
.club-chat-message {
  margin: 0 0 12px;
  line-height: 1.28;
  color: #dcf6ff;
  font-weight: 800;
  text-shadow: 0 1px 1px #000;
}
.club-chat-message span:last-child { user-select: text; }
.status-nick {
  display: inline-block;
  padding: 1px 8px 2px;
  margin-right: 6px;
  border-radius: 10px;
  color: #fff;
  font-weight: 950;
  text-shadow: 0 2px 2px #000;
}
.status-nick.status-club { color:#65dcff; text-shadow:0 2px 2px #000, 0 0 7px rgba(101,220,255,.8); }
.status-nick.status-vip { color:#d782ff; text-shadow:0 2px 2px #000, 0 0 7px rgba(215,130,255,.8); }
.status-nick.status-vip-gold {
  color:#ffdf38;
  border:2px solid #ffcc22;
  background: rgba(80,45,0,.45);
  box-shadow:0 0 12px rgba(255,200,34,.6), inset 0 0 8px rgba(255,220,75,.16);
  text-shadow:0 2px 2px #000,0 0 8px #ff9800;
}
.status-nick.status-vip-platinum {
  color:#f4fbff;
  border:2px solid #d9f3ff;
  background: rgba(40,63,77,.52);
  box-shadow:0 0 14px rgba(225,249,255,.75), inset 0 0 10px rgba(255,255,255,.15);
  text-shadow:0 2px 2px #000,0 0 10px #e8fbff;
  animation: platinumNickShine 2.3s ease-in-out infinite;
}
.club-chat-form {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 12px;
  height: 36px;
  display: flex;
  gap: 10px;
}
.club-chat-form input {
  flex: 1;
  height: 36px;
  border: 2px solid rgba(25,194,235,.9);
  border-radius: 13px;
  background: rgba(4,47,70,.92);
  color: #fff;
  outline: none;
  padding: 0 13px;
  user-select: text;
  box-shadow: inset 0 0 12px rgba(0,0,0,.22);
}
.club-chat-form button {
  width: 42px;
  height: 42px;
  align-self: center;
  border-radius: 50%;
  color: #19314a;
  font-size: 21px;
  font-weight: 950;
  background: radial-gradient(circle at 35% 30%, #e9f6ff, #7897a9 58%, #2b5268 100%);
  box-shadow: 0 5px 7px rgba(0,0,0,.38), inset 0 2px rgba(255,255,255,.55);
}
.club-chat-side { padding: 13px 12px; }
.club-chat-online-title {
  height: 32px;
  padding-left: 8px;
  color: #bcefff;
  font-size: 20px;
  font-weight: 950;
  font-style: italic;
  text-shadow: 0 2px 2px #000;
}
.club-chat-users {
  position: absolute;
  left: 12px;
  right: 12px;
  top: 48px;
  bottom: 12px;
  overflow-y: auto;
  padding-right: 8px;
}
.chat-user-row {
  position: relative;
  width: 100%;
  height: 34px;
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 7px;
  padding: 0 8px;
  border: 1px solid rgba(160,230,255,.48);
  border-radius: 17px;
  background: linear-gradient(90deg, rgba(4,62,89,.75), rgba(8,92,119,.55));
  color: #fff;
  text-align: left;
  box-shadow: inset 0 0 10px rgba(0,0,0,.16);
}
.chat-user-row .chat-user-badge {
  width: 18px;
  color: #eafaff;
  text-align: center;
  text-shadow: 0 0 5px #eaffff;
}
.chat-user-row b {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 17px;
  font-weight: 950;
  text-shadow: 0 2px 2px #000;
}
.chat-user-row em {
  min-width: 28px;
  font-style: normal;
  text-align: right;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.4));
}
.chat-user-row.status-club b { color:#65dcff; text-shadow:0 2px 2px #000,0 0 8px rgba(101,220,255,.75); }
.chat-user-row.status-vip b { color:#d782ff; text-shadow:0 2px 2px #000,0 0 8px rgba(215,130,255,.75); }
.chat-user-row.status-vip-gold {
  border: 2px solid #ffcc22;
  background: linear-gradient(90deg, rgba(72,43,0,.55), rgba(12,82,106,.58));
  box-shadow: 0 0 13px rgba(255,200,34,.58), inset 0 0 10px rgba(255,221,81,.12);
}
.chat-user-row.status-vip-gold b { color:#ffdf38; text-shadow:0 2px 2px #000,0 0 8px #ff9800; }
.chat-user-row.status-vip-platinum {
  border: 2px solid #d9f3ff;
  background: linear-gradient(90deg, rgba(68,87,98,.58), rgba(8,75,100,.62));
  box-shadow: 0 0 15px rgba(226,249,255,.75), inset 0 0 11px rgba(255,255,255,.14);
  animation: platinumFrame 2.3s ease-in-out infinite;
}
.chat-user-row.status-vip-platinum b { color:#f4fbff; text-shadow:0 2px 2px #000,0 0 10px #e8fbff; animation: platinumNickShine 2.4s ease-in-out infinite; }
.chat-user-row.is-current::before {
  content: "";
  position: absolute;
  left: -2px;
  right: -2px;
  top: -2px;
  bottom: -2px;
  border-radius: 18px;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.25);
}

/* cabinet button moved a bit to the right */
.small-cabinet,
.app.is-guest .small-cabinet { left: 188px; }

/* --- update: moderator badges and chat blocking --- */
.app--clubchat .profile-card { bottom: -30px; }
.app--clubchat .small-cabinet { bottom: 10px; }

.profile-card .mod-bolt {
  display: none;
  position: absolute;
  left: 38px;
  top: 72px;
  z-index: 7;
  width: 28px;
  height: 28px;
  line-height: 26px;
  text-align: center;
  border-radius: 50%;
  color: #2b1b00;
  font-style: normal;
  font-size: 18px;
  font-weight: 950;
  background: radial-gradient(circle at 35% 30%, #fff8a8, #ffcc23 56%, #a66200 100%);
  border: 2px solid #fff16a;
  box-shadow: 0 3px 6px rgba(0,0,0,.55), 0 0 12px rgba(255,220,40,.55);
  text-shadow: 0 1px 0 rgba(255,255,255,.65);
}
.profile-card.is-moderator .mod-bolt { display: block; }
.profile-card.is-moderator strong::before {
  content: "⚡";
  display: inline-block;
  margin-right: 4px;
  color: #fff36a;
  text-shadow: 0 0 8px #ffc21d, 0 2px 1px #000;
}
.profile-card.is-guest .mod-bolt,
.profile-card.is-guest strong::before { display: none; content: ""; }

.nick-bolt {
  display: inline-block;
  margin-right: 4px;
  color: #fff36a;
  font-style: normal;
  text-shadow: 0 0 8px #ffc21d, 0 2px 1px #000;
}
.status-preview.is-moderator .status-preview__nick {
  box-shadow: 0 0 14px rgba(255,220,40,.45), inset 0 0 8px rgba(255,240,80,.12);
}

.status-nick.is-moderator {
  padding-left: 6px;
}
.club-chat-message {
  position: relative;
  padding-right: 38px;
}
.message-skull {
  position: absolute;
  right: 3px;
  top: -2px;
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border-radius: 50%;
  color: #310000;
  font-size: 13px;
  font-weight: 950;
  line-height: 20px;
  background: linear-gradient(#ff9a9a,#c93636);
  border: 1px solid #ff9494;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 2px 5px rgba(0,0,0,.45), 0 0 8px rgba(255,80,80,.35);
  text-shadow: 0 1px 0 rgba(255,255,255,.18);
  cursor: pointer;
}
.message-skull:hover,
.chat-skull:hover {
  filter: brightness(1.18);
  transform: scale(1.06);
}
.club-chat-message.is-blocked {
  opacity: .74;
}
.blocked-message {
  color: #b8cad3;
  font-style: italic;
  font-weight: 800;
  text-shadow: 0 1px 1px #000;
}

.chat-user-row.is-moderator .chat-mod-bolt {
  display: inline-grid;
}
.chat-mod-bolt {
  display: none;
  width: 18px;
  height: 18px;
  place-items: center;
  border-radius: 50%;
  color: #382500;
  background: radial-gradient(circle at 35% 30%, #fff8a8, #ffc821 62%, #a66200);
  border: 1px solid #fff16a;
  box-shadow: 0 0 9px rgba(255,220,40,.5);
  font-size: 13px;
  line-height: 18px;
  text-shadow: none;
}
.chat-skull {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: #eefaff;
  background: radial-gradient(circle at 35% 30%, #d8f2ff, #57778a 58%, #172737 100%);
  border: 1px solid rgba(213,244,255,.8);
  box-shadow: 0 2px 6px rgba(0,0,0,.4);
  font-size: 14px;
  text-shadow: 0 1px 1px #000;
}
.chat-skull.is-active {
  color: #fff0f0;
  background: radial-gradient(circle at 35% 30%, #ffdede, #c43232 62%, #4a0909 100%);
  border-color: #ffb7b7;
  box-shadow: 0 0 11px rgba(255,80,80,.58), 0 2px 6px rgba(0,0,0,.44);
}
.modal__box--admin select#adminModSelect {
  color: #ffe55a;
  text-shadow: 0 1px 1px #000;
}


/* --- final small tweaks: lobby side panel and editable nickname --- */
.app--lobby .club-shell { width: 1185px; }
.app--lobby .lobby-side { right: 18px; }
.app--lobby .lobby-table-wrap { width: 870px; }
.modal__box--profile { width: 740px; min-height: 550px; }
.cabinet-fields { gap: 8px; }
.cabinet-fields input#cabinetNick {
  color: #103143;
  background: linear-gradient(#ffffff, #e9f6ff);
  border-color: rgba(31,185,235,.75);
}
.cabinet-fields input#cabinetNick:focus {
  border-color: #ffe24b;
  box-shadow: 0 0 10px rgba(255,220,40,.35);
}

/* --- multiplayer poker server layer --- */
.poker-layer {
  position:absolute;
  inset:0;
  z-index:18;
  pointer-events:none;
  contain:layout paint;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.poker-board {
  position:absolute;
  left:296px;
  top:318px;
  width:365px;
  height:90px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  pointer-events:none;
  transform:rotate(-3deg);
}
.board-empty {
  display:block;
  color:rgba(255,255,255,.72);
  font-weight:950;
  font-size:13px;
  text-align:center;
  text-shadow:0 2px 2px #003211;
}
.poker-card {
  position:relative;
  display:inline-block;
  width:62px;
  height:88px;
  border-radius:10px;
  border:4px solid #fff;
  background:
    radial-gradient(circle at 50% 46%, rgba(255,255,255,.85), transparent 33%),
    linear-gradient(145deg,#fff 0%,#f4f6f9 46%,#e4edf4 100%);
  color:#101820;
  font-family:Georgia, 'Times New Roman', serif;
  box-shadow:0 8px 10px rgba(0,0,0,.42), inset 0 0 0 1px rgba(40,60,80,.12);
  overflow:hidden;
  transform:translateZ(0);
}
.poker-card::after {
  content:"";
  position:absolute;
  inset:5px;
  border-radius:7px;
  border:1px solid rgba(15,35,48,.14);
  pointer-events:none;
}
.poker-card.is-red { color:#d01b2b; }
.poker-card__corner {
  position:absolute;
  width:22px;
  display:grid;
  place-items:center;
  gap:0;
  font-weight:950;
  font-style:normal;
  line-height:.84;
  text-align:center;
  text-shadow:none;
  z-index:2;
}
.poker-card__corner i {
  display:block;
  font-style:normal;
}
.poker-card__corner i:first-child { font-size:16px; letter-spacing:-1px; }
.poker-card__corner i:last-child { font-size:17px; margin-top:1px; }
.poker-card__corner--tl { left:6px; top:6px; }
.poker-card__corner--br { right:6px; bottom:6px; transform:rotate(180deg); }
.poker-card__suit {
  position:absolute;
  left:0;
  right:0;
  top:26px;
  text-align:center;
  font-size:38px;
  line-height:1;
  font-weight:950;
  text-shadow:0 1px 0 rgba(255,255,255,.75);
}
.poker-card--back {
  background:
    radial-gradient(circle at 50% 48%, rgba(255,221,92,.55) 0 9%, transparent 10%),
    repeating-linear-gradient(45deg, rgba(255,255,255,.18) 0 3px, transparent 3px 8px),
    linear-gradient(135deg,#0ab63c,#006e24 56%,#004315);
  color:transparent;
}
.poker-card--back::before {
  content:"";
  position:absolute;
  inset:8px;
  border:2px solid rgba(255,255,255,.72);
  border-radius:7px;
  box-shadow:inset 0 0 0 2px rgba(0,81,24,.45), 0 0 10px rgba(255,255,255,.1);
}
.poker-card--back i {
  position:absolute;
  left:50%;
  top:50%;
  width:25px;
  height:25px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle at 38% 35%,#fff4a9,#d29a45 72%,#8b561c);
  box-shadow:0 0 0 3px rgba(0,74,21,.42);
}
.poker-card--mini {
  width:38px;
  height:54px;
  border-width:3px;
  border-radius:8px;
  box-shadow:0 5px 7px rgba(0,0,0,.36), inset 0 0 0 1px rgba(40,60,80,.12);
}
.poker-card--mini .poker-card__corner { width:15px; }
.poker-card--mini .poker-card__corner i:first-child { font-size:10px; }
.poker-card--mini .poker-card__corner i:last-child { font-size:11px; }
.poker-card--mini .poker-card__corner--tl { left:3px; top:4px; }
.poker-card--mini .poker-card__corner--br { right:3px; bottom:4px; }
.poker-card--mini .poker-card__suit { top:17px; font-size:24px; }
.poker-card--hole-me {
  width:48px;
  height:67px;
  border-width:4px;
  border-radius:9px;
  box-shadow:0 7px 8px rgba(0,0,0,.44), 0 0 12px rgba(255,235,80,.28), inset 0 0 0 1px rgba(40,60,80,.12);
}
.poker-card--hole-me .poker-card__corner { width:18px; }
.poker-card--hole-me .poker-card__corner i:first-child { font-size:13px; }
.poker-card--hole-me .poker-card__corner i:last-child { font-size:14px; }
.poker-card--hole-me .poker-card__suit { top:20px; font-size:30px; }

.poker-card--from-deck { transform-origin:center; }
.poker-card--dealt {
  animation:dealFromDeck var(--deal-duration,.82s) cubic-bezier(.18,.78,.22,1.03) both;
  animation-delay:var(--deal-delay, 0s);
}
@keyframes dealFromDeck {
  0% {
    opacity:.15;
    transform:translate(var(--deal-from-x,205px), var(--deal-from-y,58px)) rotate(var(--deal-rot,24deg)) scale(.52);
    filter:brightness(1.35) blur(.2px);
  }
  58% { opacity:1; filter:brightness(1.18); }
  82% { transform:translate(-5px, -5px) rotate(-5deg) scale(1.05); }
  100% { opacity:1; transform:translate(0, 0) rotate(0deg) scale(1); filter:brightness(1); }
}
.poker-deck-stack {
  position:absolute;
  left:710px;
  top:344px;
  width:70px;
  height:92px;
  pointer-events:none;
  filter:drop-shadow(0 10px 8px rgba(0,0,0,.44));
  transform:rotate(13deg);
}
.poker-deck-stack i {
  position:absolute;
  width:54px;
  height:78px;
  border:4px solid #fff;
  border-radius:9px;
  background:
    radial-gradient(circle at 50% 48%, rgba(255,221,92,.7) 0 9%, transparent 10%),
    repeating-linear-gradient(45deg, rgba(255,255,255,.17) 0 3px, transparent 3px 8px),
    linear-gradient(135deg,#0ab63c,#006e24 56%,#004315);
  box-shadow:0 5px 5px rgba(0,0,0,.32), inset 0 0 0 2px rgba(0,68,20,.2);
}
.poker-deck-stack i:nth-child(1) { left:0; top:12px; opacity:.58; }
.poker-deck-stack i:nth-child(2) { left:5px; top:8px; opacity:.76; }
.poker-deck-stack i:nth-child(3) { left:10px; top:4px; opacity:.9; }
.poker-deck-stack i:nth-child(4) { left:15px; top:0; }
.bet-panel {
  width:248px;
  min-height:106px;
  padding:8px 9px 9px;
  border:2px solid rgba(255,220,45,.92);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(10,92,123,.97), rgba(3,38,59,.98));
  box-shadow:0 7px 10px rgba(0,0,0,.42), inset 0 0 14px rgba(255,221,47,.13);
}
.bet-panel__top {
  height:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#fff8a7;
  font-size:14px;
  font-weight:950;
  text-shadow:0 2px 1px #000;
}
.bet-panel output {
  min-width:70px;
  padding:2px 7px;
  border-radius:10px;
  color:#55ff42;
  background:#020c10;
  text-align:center;
  box-shadow:inset 0 0 6px rgba(0,0,0,.5);
}
.bet-panel__row {
  display:grid;
  grid-template-columns:26px 1fr 30px;
  align-items:center;
  gap:6px;
  margin:5px 0 4px;
  color:#dff7ff;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  text-shadow:0 1px 1px #000;
}
.bet-slider {
  width:100%;
  height:20px;
  vertical-align:middle;
  accent-color:#ffc51e;
  cursor:pointer;
}
.bet-amount {
  display:block;
  width:86px;
  height:25px;
  margin:2px auto 0;
  border:2px solid #19bde9;
  border-radius:9px;
  outline:none;
  color:#0e2737;
  font-size:14px;
  font-weight:950;
  text-align:center;
  background:linear-gradient(#fff,#dff7ff);
  user-select:text;
}
.bet-panel__buttons {
  display:flex;
  gap:8px;
  justify-content:center;
  margin-top:6px;
}
.bet-panel__buttons button:last-child {
  color:#fff;
  background:linear-gradient(#ff6b55,#d90000 58%,#7d0000);
  text-shadow:0 2px 1px #4b0000;
}
.poker-status {
  position:absolute;
  left:310px;
  top:180px;
  width:330px;
  min-height:62px;
  padding:8px 14px;
  border-radius:18px;
  text-align:center;
  color:#dffaff;
  background:rgba(0,35,48,.54);
  border:2px solid rgba(0,190,255,.35);
  box-shadow:inset 0 0 16px rgba(0,0,0,.22);
  text-shadow:0 2px 2px #000;
}
.poker-status b { display:block; color:#fff45d; font-size:17px; }
.poker-status span { display:block; margin-top:3px; font-size:14px; font-weight:900; }
.poker-actions {
  position:absolute;
  left:560px;
  top:428px;
  width:260px;
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:7px;
  pointer-events:auto;
  padding:8px;
  border-radius:19px;
  background:rgba(2,39,56,.55);
  box-shadow:inset 0 0 14px rgba(0,0,0,.24), 0 5px 10px rgba(0,0,0,.24);
}
.poker-actions--betting {
  top:404px;
  min-height:150px;
  align-items:flex-start;
}
.poker-actions--start {
  left:330px;
  top:468px;
  width:205px;
  min-height:50px;
  background:transparent;
  box-shadow:none;
}
.poker-actions button {
  min-width:86px;
  height:31px;
  border-radius:16px;
  color:#2d1900;
  font-weight:950;
  background:linear-gradient(#fff16e,#ffc51e,#d87d00);
  box-shadow:inset 0 -4px rgba(100,60,0,.25),0 4px 5px rgba(0,0,0,.35);
  text-shadow:0 1px 0 rgba(255,255,255,.55);
}
.poker-actions span {
  color:#d9f6ff;
  font-weight:950;
  text-shadow:0 2px 2px #000;
}
.poker-seat {
  position:absolute;
  width:116px;
  min-height:112px;
  text-align:center;
  pointer-events:auto;
  filter:drop-shadow(0 5px 4px rgba(0,0,0,.45));
}
.poker-avatar {
  width:50px;
  height:52px;
  margin:0 auto 3px;
  border-radius:10px 10px 4px 4px;
  border:2px solid #d5edf2;
  background:linear-gradient(#f4b76a 0 48%,#1e641c 49%);
  position:relative;
  overflow:hidden;
}
.poker-avatar::before {
  content:"";
  position:absolute;
  left:15px;
  top:7px;
  width:17px;
  height:17px;
  border-radius:50%;
  background:#ffd2a0;
}
.poker-seat.is-me {
  z-index:5;
  transform:scale(1.06);
}
.poker-seat.is-me .poker-avatar { box-shadow:0 0 14px rgba(255,235,54,.9); border-color:#ffe83e; }
.poker-seat.is-turn .poker-avatar { animation:pokerTurnPulse 1s ease-in-out infinite; }
@keyframes pokerTurnPulse { 0%,100%{filter:brightness(1)} 50%{filter:brightness(1.45)} }
.poker-seat > b,
.poker-seat > span,
.poker-seat > em {
  display:block;
  width:104px;
  min-height:21px;
  line-height:19px;
  margin:2px auto;
  border:3px solid #f0d71f;
  border-radius:7px;
  background:#16415b;
  color:#fff;
  font-size:14px;
  font-weight:950;
  text-shadow:0 2px 1px #000;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.poker-seat > span { font-size:12px; }
.poker-seat > em { font-size:11px; min-height:18px; line-height:16px; color:#8fffd0; font-style:normal; border-color:#24b8e9; }
.poker-seat.is-folded { opacity:.56; filter:grayscale(.7) drop-shadow(0 5px 4px rgba(0,0,0,.45)); }
.poker-seat--empty { opacity:.5; }
.poker-seat--empty .poker-avatar { background:linear-gradient(#eff7ff,#9aaab1); }
.hole-cards {
  height:68px;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  gap:5px;
  margin-top:2px;
}
.poker-seat:not(.is-me) .hole-cards { height:54px; gap:3px; }
.dealer-chip {
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  margin-right:4px;
  border-radius:50%;
  color:#111;
  background:#fff;
  font-style:normal;
  font-size:12px;
  text-shadow:none;
}
.chat-box .system-line { color:#96e8ff; font-weight:900; }


/* v4: fixed 5-card board slots so flop cards do not move or re-deal on turn/river */
.poker-card--board-slot {
  visibility:hidden;
  opacity:0;
  box-shadow:none;
  pointer-events:none;
}

/* v6: auto-deal table chips and winner highlight */
.pot-chip-bank {
  position:absolute;
  left:404px;
  top:382px;
  width:120px;
  height:72px;
  pointer-events:none;
  display:grid;
  place-items:center;
  z-index:9;
  filter:drop-shadow(0 8px 5px rgba(0,0,0,.45));
}
.pot-chip-bank strong {
  position:absolute;
  left:0;
  right:0;
  bottom:-4px;
  color:#fff;
  font-size:14px;
  font-weight:950;
  text-align:center;
  text-shadow:0 2px 2px #000, 0 0 7px rgba(255,240,90,.75);
}
.table-bet-chip {
  position:absolute;
  width:76px;
  height:44px;
  z-index:8;
  pointer-events:none;
}
.chip-stack {
  position:relative;
  width:76px;
  height:46px;
  display:block;
  transform:translateZ(0);
}
.chip-stack--pot {
  transform:scale(1.15);
  animation:chipPotPop .65s cubic-bezier(.2,.85,.18,1.18) both;
}
.chip-stack--bet {
  animation:chipBetSlide .45s ease-out both;
}
.poker-chip {
  position:absolute;
  left:50%;
  bottom:calc(var(--i) * 5px);
  width:42px;
  height:18px;
  margin-left:-21px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.95);
  display:grid;
  place-items:center;
  box-shadow:0 4px 3px rgba(0,0,0,.34), inset 0 -4px 0 rgba(0,0,0,.18), inset 0 3px 0 rgba(255,255,255,.42);
  background:
    radial-gradient(ellipse at 50% 48%, rgba(255,255,255,.95) 0 15%, transparent 16% 28%, rgba(255,255,255,.8) 29% 34%, transparent 35%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.92) 0 5px, transparent 5px 12px),
    linear-gradient(180deg,#e51c2e,#9e0715);
}
.poker-chip--2 { background:
    radial-gradient(ellipse at 50% 48%, rgba(255,255,255,.95) 0 15%, transparent 16% 28%, rgba(255,255,255,.8) 29% 34%, transparent 35%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.92) 0 5px, transparent 5px 12px),
    linear-gradient(180deg,#3b9dff,#075ca8); }
.poker-chip--3 { background:
    radial-gradient(ellipse at 50% 48%, rgba(255,255,255,.95) 0 15%, transparent 16% 28%, rgba(255,255,255,.8) 29% 34%, transparent 35%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.92) 0 5px, transparent 5px 12px),
    linear-gradient(180deg,#ffb43a,#d46c00); }
.poker-chip--4 { background:
    radial-gradient(ellipse at 50% 48%, rgba(255,255,255,.95) 0 15%, transparent 16% 28%, rgba(255,255,255,.8) 29% 34%, transparent 35%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.92) 0 5px, transparent 5px 12px),
    linear-gradient(180deg,#f9f9f9,#b7c6cf); }
.poker-chip b {
  color:#08253a;
  font-size:10px;
  font-style:normal;
  font-weight:950;
  line-height:1;
  text-shadow:0 1px 0 rgba(255,255,255,.7);
}
.chip-stack span {
  position:absolute;
  left:50%;
  bottom:-14px;
  min-width:58px;
  transform:translateX(-50%);
  color:#fff;
  font-size:12px;
  font-weight:950;
  text-align:center;
  text-shadow:0 2px 2px #000;
}
@keyframes chipPotPop {
  0% { opacity:0; transform:translateY(-18px) scale(.7) rotate(-8deg); }
  70% { opacity:1; transform:translateY(3px) scale(1.22) rotate(3deg); }
  100% { opacity:1; transform:translateY(0) scale(1.15) rotate(0); }
}
@keyframes chipBetSlide {
  0% { opacity:0; transform:translateY(18px) scale(.72); }
  100% { opacity:1; transform:translateY(0) scale(1); }
}
.winner-toast {
  position:absolute;
  left:312px;
  top:118px;
  width:320px;
  min-height:54px;
  padding:9px 18px;
  border:3px solid #ff8a1f;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(12,88,116,.96), rgba(3,30,45,.97));
  box-shadow:0 0 18px rgba(255,130,26,.78), inset 0 0 18px rgba(255,170,30,.18);
  color:#fff;
  text-align:center;
  z-index:20;
  pointer-events:none;
  animation:winnerPop .6s cubic-bezier(.22,.92,.2,1.16) both;
}
.winner-toast b,
.winner-toast span {
  display:block;
  font-weight:950;
  text-shadow:0 2px 2px #000;
}
.winner-toast b { color:#fff; font-size:18px; }
.winner-toast span { color:#ffb22a; font-size:15px; }
.poker-seat.is-winner {
  z-index:22;
  padding:4px 3px 6px;
  margin:-6px 0 0 -3px;
  border:3px solid #ff8520;
  border-radius:12px;
  background:linear-gradient(180deg, rgba(28,105,127,.92), rgba(6,39,56,.96));
  box-shadow:0 0 18px rgba(255,117,18,.9), inset 0 0 18px rgba(255,181,36,.22);
  opacity:1;
  filter:drop-shadow(0 7px 6px rgba(0,0,0,.5));
  animation:winnerSeatPulse 1.15s ease-in-out infinite;
}
.poker-seat.is-winner > b,
.poker-seat.is-winner > span,
.poker-seat.is-winner > em { border-color:#ff8a1f; }
.winner-ribbon {
  width:110px;
  margin:2px auto 3px;
  border:2px solid #ff8a1f;
  border-radius:8px;
  overflow:hidden;
  background:linear-gradient(#143a4d,#061b29);
  box-shadow:inset 0 0 8px rgba(255,138,31,.25);
}
.winner-ribbon b,
.winner-ribbon span {
  display:block;
  height:17px;
  line-height:17px;
  font-size:12px;
  font-weight:950;
  text-align:center;
  text-shadow:0 2px 1px #000;
}
.winner-ribbon b { color:#ff9b2a; }
.winner-ribbon span { color:#ffe66d; border-top:1px solid rgba(255,138,31,.6); }
.poker-layer--showdown .poker-board .poker-card { filter:brightness(.76) saturate(.9); }
.poker-layer--showdown .poker-seat:not(.is-winner):not(.is-me) { opacity:.68; }
.poker-layer--showdown .poker-seat.is-winner .poker-card { filter:brightness(1.1) saturate(1.1); }
@keyframes winnerPop {
  0% { opacity:0; transform:translateY(-16px) scale(.72); }
  80% { opacity:1; transform:translateY(2px) scale(1.04); }
  100% { opacity:1; transform:translateY(0) scale(1); }
}
@keyframes winnerSeatPulse {
  0%,100% { box-shadow:0 0 14px rgba(255,117,18,.72), inset 0 0 14px rgba(255,181,36,.18); }
  50% { box-shadow:0 0 24px rgba(255,206,54,.96), inset 0 0 22px rgba(255,181,36,.32); }
}

/* --- v7: neat bottom action buttons, clearer chips, red moving dealer button --- */
.poker-actions {
  left: 34px;
  right: 34px;
  top: auto;
  bottom: 12px;
  width: auto;
  min-height: 46px;
  padding: 6px 10px;
  flex-wrap: nowrap;
  gap: 12px;
  justify-content: center;
  align-items: center;
  border-radius: 22px;
  background: rgba(3, 31, 48, .28);
  box-shadow: none;
  z-index: 34;
}
.poker-actions--betting {
  top: auto;
  bottom: 8px;
  min-height: 58px;
  align-items: center;
  background: rgba(2, 28, 43, .48);
  box-shadow: inset 0 0 12px rgba(0,0,0,.18), 0 4px 8px rgba(0,0,0,.18);
}
.poker-actions--start {
  left: 34px;
  right: 34px;
  top: auto;
  bottom: 12px;
  width: auto;
  min-height: 42px;
}
.poker-actions button {
  min-width: 126px;
  height: 32px;
  border-radius: 18px;
  color: #102638;
  font-size: 15px;
  letter-spacing: .2px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.95), rgba(183,235,255,.95) 48%, rgba(87,176,217,.96));
  box-shadow: inset 0 2px rgba(255,255,255,.75), inset 0 -4px rgba(18,89,125,.18), 0 4px 7px rgba(0,0,0,.35);
  border: 1px solid rgba(220,250,255,.75);
  text-shadow: 0 1px 0 rgba(255,255,255,.65);
}
.poker-actions button:hover { filter: brightness(1.08); }
.poker-actions button[data-action="pokerAllIn"] {
  color: #fff;
  background: linear-gradient(#ff7563,#e00000 58%,#860000);
  border-color: rgba(255,200,200,.82);
  text-shadow: 0 2px 1px #4b0000;
}
.poker-actions button[data-action="pokerFold"] {
  color: #18354b;
}
.poker-actions > span {
  width: 100%;
  padding: 7px 12px;
  border-radius: 18px;
  background: rgba(5,45,64,.45);
  text-align: center;
}
.bet-panel {
  width: 265px;
  min-height: 48px;
  padding: 6px 8px;
  display: grid;
  grid-template-columns: 78px 1fr 72px;
  grid-template-rows: 20px 20px;
  column-gap: 7px;
  row-gap: 1px;
  align-items: center;
  border-radius: 16px;
  border: 2px solid rgba(255,220,45,.88);
  background: linear-gradient(180deg, rgba(11,95,126,.98), rgba(3,39,58,.98));
  box-shadow: 0 5px 7px rgba(0,0,0,.36), inset 0 0 12px rgba(255,221,47,.13);
}
.bet-panel__top {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  height: auto;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 1px;
  font-size: 12px;
}
.bet-panel output {
  min-width: 60px;
  padding: 1px 6px;
  font-size: 12px;
}
.bet-panel__row {
  grid-column: 2 / 3;
  grid-row: 1 / 3;
  margin: 0;
  grid-template-columns: 24px 1fr 27px;
  gap: 4px;
  font-size: 10px;
}
.bet-slider { height: 18px; }
.bet-amount {
  grid-column: 3 / 4;
  grid-row: 1 / 3;
  width: 68px;
  height: 28px;
  margin: 0;
  font-size: 14px;
}
.bet-panel__buttons { display: none; }
.pot-chip-bank {
  left: 410px;
  top: 368px;
  width: 92px;
  height: 62px;
  z-index: 12;
}
.pot-chip-bank strong {
  bottom: -18px;
  font-size: 12px;
  color: #fff8a5;
}
.table-bet-chip {
  width: 66px;
  height: 46px;
  z-index: 11;
}
.chip-stack {
  width: 66px;
  height: 43px;
}
.chip-stack--pot { transform: scale(1.05); }
.chip-stack--bet { transform: scale(.9); }
.poker-chip {
  width: 36px;
  height: 14px;
  margin-left: -18px;
  bottom: calc(var(--i) * 4px);
  border: 2px solid rgba(255,255,255,.96);
  box-shadow: 0 3px 3px rgba(0,0,0,.35), inset 0 -3px 0 rgba(0,0,0,.20), inset 0 2px 0 rgba(255,255,255,.48);
  background:
    radial-gradient(ellipse at 50% 48%, rgba(255,255,255,.95) 0 12%, transparent 13% 31%, rgba(255,255,255,.82) 32% 38%, transparent 39%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.95) 0 4px, transparent 4px 10px),
    linear-gradient(180deg,#e51c2e,#9e0715);
}
.poker-chip--2 { background:
    radial-gradient(ellipse at 50% 48%, rgba(255,255,255,.95) 0 12%, transparent 13% 31%, rgba(255,255,255,.82) 32% 38%, transparent 39%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.95) 0 4px, transparent 4px 10px),
    linear-gradient(180deg,#49abff,#075ca8); }
.poker-chip--3 { background:
    radial-gradient(ellipse at 50% 48%, rgba(255,255,255,.95) 0 12%, transparent 13% 31%, rgba(255,255,255,.82) 32% 38%, transparent 39%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.95) 0 4px, transparent 4px 10px),
    linear-gradient(180deg,#ffc64a,#d46c00); }
.poker-chip--4 { background:
    radial-gradient(ellipse at 50% 48%, rgba(255,255,255,.95) 0 12%, transparent 13% 31%, rgba(255,255,255,.82) 32% 38%, transparent 39%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.95) 0 4px, transparent 4px 10px),
    linear-gradient(180deg,#fefefe,#aebec8); }
.poker-chip b { display: none; }
.chip-stack span {
  bottom: -13px;
  min-width: 54px;
  padding: 1px 5px 2px;
  border: 1px solid rgba(180,245,255,.75);
  border-radius: 8px;
  color: #fff;
  font-size: 11px;
  line-height: 12px;
  background: rgba(3,22,32,.88);
  box-shadow: 0 2px 4px rgba(0,0,0,.34), inset 0 0 6px rgba(32,190,230,.18);
}
.dealer-chip { display: none; }
.dealer-puck {
  position: absolute;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  font: 950 17px/1 Arial, Helvetica, sans-serif;
  background:
    radial-gradient(circle at 35% 30%, #ffef8a 0 12%, transparent 13%),
    radial-gradient(circle at 42% 38%, #ff4b4b, #e30010 62%, #8e0007 100%);
  border: 3px solid rgba(255,255,255,.92);
  text-shadow: 0 2px 1px rgba(0,0,0,.55);
  box-shadow: 0 5px 7px rgba(0,0,0,.44), inset 0 -4px 0 rgba(0,0,0,.16), 0 0 10px rgba(255,40,40,.38);
  z-index: 32;
  pointer-events: none;
}
.dealer-puck::after {
  content:"";
  position:absolute;
  inset:-5px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.28);
}
.dealer-puck--move {
  animation: dealerPuckMove .72s cubic-bezier(.18,.78,.22,1.03) both;
}
@keyframes dealerPuckMove {
  0% { opacity:.55; transform: translate(var(--dealer-from-x), var(--dealer-from-y)) scale(.82) rotate(-16deg); }
  68% { opacity:1; transform: translate(4px,-4px) scale(1.08) rotate(8deg); }
  100% { opacity:1; transform: translate(0,0) scale(1) rotate(0); }
}
.hole-cards { pointer-events: none; }
.poker-seat.is-me { z-index: 20; }
.poker-seat.is-turn { z-index: 21; }

/* --- v8: аккуратный масштаб стола, свободные кнопки, без рейтинга справа --- */
.app--table .rating {
  display: none !important;
}

/* нижняя панель хода больше не заезжает под аватар слева */
.poker-actions {
  left: 205px;
  right: 18px;
  bottom: 10px;
  min-height: 44px;
  padding: 5px 8px;
  gap: 10px;
  border-radius: 20px;
  background: rgba(3, 31, 48, .24);
  z-index: 34;
}
.poker-actions--betting {
  left: 205px;
  right: 12px;
  bottom: 8px;
  min-height: 56px;
  gap: 7px;
  padding: 5px 7px;
}
.poker-actions button {
  min-width: 104px;
  height: 31px;
  padding: 0 10px;
  font-size: 14px;
  white-space: nowrap;
}
.poker-actions--betting button {
  min-width: 86px;
  padding: 0 8px;
  font-size: 13px;
}
.poker-actions > span {
  padding: 7px 14px;
  max-width: 520px;
}

/* компактная ставка, чтобы она не закрывала карты и кнопки */
.bet-panel {
  width: 215px;
  min-height: 46px;
  grid-template-columns: 58px 1fr 58px;
  column-gap: 5px;
  padding: 5px 7px;
  border-radius: 14px;
}
.bet-panel__top { font-size: 11px; }
.bet-panel output {
  min-width: 48px;
  font-size: 11px;
  padding: 1px 4px;
}
.bet-panel__row {
  grid-template-columns: 20px 1fr 22px;
  gap: 3px;
  font-size: 9px;
}
.bet-amount {
  width: 55px;
  height: 25px;
  font-size: 12px;
}

/* игроки на столе стали чуть меньше и чище */
.poker-seat {
  width: 108px;
  min-height: 98px;
}
.poker-seat:not(.is-me) {
  transform: scale(.94);
  transform-origin: center center;
}
.poker-seat.is-me {
  transform: scale(.98);
  transform-origin: center center;
}
.poker-avatar {
  width: 46px;
  height: 48px;
  border-radius: 9px 9px 4px 4px;
}
.poker-avatar::before {
  left: 14px;
  top: 7px;
  width: 15px;
  height: 15px;
}
.poker-seat > b,
.poker-seat > span,
.poker-seat > em {
  width: 96px;
  min-height: 18px;
  line-height: 16px;
  margin: 1px auto;
  border-width: 2px;
  border-radius: 6px;
  font-size: 12px;
}
.poker-seat > span {
  min-height: 16px;
  line-height: 14px;
  font-size: 10px;
  color: #f5fcff;
}
.poker-seat > em {
  min-height: 15px;
  line-height: 13px;
  font-size: 10px;
}
.hole-cards {
  height: 62px;
  gap: 4px;
  margin-top: 1px;
}
.poker-seat:not(.is-me) .hole-cards {
  height: 50px;
}

/* фишки меньше, аккуратнее и читаемее */
.table-bet-chip {
  width: 56px;
  height: 38px;
  z-index: 13;
}
.pot-chip-bank {
  left: 416px;
  top: 374px;
  width: 76px;
  height: 54px;
  z-index: 13;
}
.chip-stack {
  width: 56px;
  height: 36px;
}
.chip-stack--pot { transform: scale(1); }
.chip-stack--bet { transform: scale(.82); }
.poker-chip {
  width: 31px;
  height: 12px;
  margin-left: -15.5px;
  bottom: calc(var(--i) * 3px);
  border-width: 2px;
}
.chip-stack span {
  bottom: -12px;
  min-width: 44px;
  padding: 1px 4px;
  font-size: 10px;
  line-height: 11px;
  border-radius: 7px;
}
.pot-chip-bank strong {
  bottom: -18px;
  font-size: 11px;
}

/* красная D-кнопка чуть меньше и аккуратнее */
.dealer-puck {
  width: 25px;
  height: 25px;
  font-size: 15px;
  border-width: 3px;
  box-shadow: 0 4px 6px rgba(0,0,0,.42), inset 0 -3px 0 rgba(0,0,0,.16), 0 0 9px rgba(255,40,40,.35);
}

/* --- v9: выход со стола, пустые наблюдатели, таймер хода 20 сек --- */
.turn-clock {
  position: relative;
  width: 96px;
  height: 16px;
  margin: 2px auto 1px;
  overflow: hidden;
  border: 2px solid rgba(255, 230, 45, .95);
  border-radius: 9px;
  background: rgba(2, 15, 24, .86);
  box-shadow: 0 2px 5px rgba(0,0,0,.35), inset 0 0 7px rgba(0,0,0,.45);
}
.turn-clock i {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  border-radius: 8px;
  background: linear-gradient(90deg, #2dff57, #ffe94a, #ff4a35);
  box-shadow: 0 0 8px rgba(255, 230, 55, .55);
}
.turn-clock strong {
  position: relative;
  z-index: 2;
  display: block;
  height: 100%;
  color: #fff;
  font: 950 11px/13px Arial, Helvetica, sans-serif;
  text-shadow: 0 2px 1px #000;
}
.poker-seat.is-turn .turn-clock {
  animation: turnClockGlow 1s ease-in-out infinite;
}
@keyframes turnClockGlow {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.28); }
}
.room-list .watchers:empty {
  min-height: 18px;
}


/* --- v10: спокойные фишки, чистый чат, красивое открытие стола --- */
.chip-stack--pot,
.chip-stack--bet {
  animation: none !important;
}
.table-bet-chip,
.pot-chip-bank {
  will-change: auto;
}
.chat-box:empty::before {
  content: "";
}
.modal__box--table-create {
  width: 585px;
  min-height: 480px;
  padding: 28px 36px 26px;
  text-align: left;
  background: linear-gradient(180deg, rgba(74,158,176,.94), rgba(13,77,108,.97) 48%, rgba(6,49,76,.98));
  border-color: rgba(50,206,232,.72);
  box-shadow: 0 18px 34px rgba(0,0,0,.55), inset 0 0 28px rgba(155,245,255,.18);
}
.modal__box--table-create::before {
  left: 22px;
  right: 22px;
  top: 86px;
  bottom: 74px;
  border-color: rgba(22,212,232,.55);
  border-radius: 16px;
}
.modal__box--table-create h2 {
  margin: -4px 0 14px;
  text-align: center;
  color: #c7effb;
  font-size: 27px;
}
.table-create-lead {
  position: relative;
  z-index: 2;
  margin: 0 0 26px;
  text-align: center;
  color: #d4f5ff;
  font-size: 18px;
  font-weight: 950;
  text-shadow: 0 2px 2px #063248;
}
.table-create-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 17px 44px;
  padding: 0 8px;
}
.table-create-grid label {
  display: grid;
  gap: 7px;
  color: #b9eaff;
  font-size: 16px;
  font-weight: 950;
  font-style: italic;
  text-shadow: 0 2px 2px rgba(0,0,0,.55);
}
.table-create-grid select {
  width: 100%;
  height: 34px;
  padding: 0 34px 0 10px;
  border: 2px solid rgba(23,183,221,.65);
  border-radius: 16px;
  outline: none;
  color: #52d7ff;
  font-weight: 950;
  background: linear-gradient(90deg, #073754, #02162a);
  box-shadow: inset -34px 0 0 rgba(2,13,26,.88), inset 0 0 8px rgba(0,0,0,.55);
  user-select: auto;
}
.table-create-buyin {
  display: grid;
  gap: 8px;
  align-content: start;
  min-height: 54px;
  color: #d6f6ff;
  font-size: 16px;
  font-weight: 950;
  font-style: italic;
  text-shadow: 0 2px 2px rgba(0,0,0,.55);
}
.table-create-buyin b {
  color: #fff;
  font-size: 18px;
}
.table-create-actions {
  margin-top: 22px;
  gap: 22px;
}
.table-create-actions button {
  min-width: 190px;
}
#tableCreateMessage {
  position: relative;
  z-index: 2;
  min-height: 18px;
  margin: 16px 0 0;
  text-align: center;
}

/* чуть свободнее нижняя зона стола */
.app--table .bottom-buttons {
  left: 455px;
  gap: 16px;
}
.poker-actions {
  left: 225px;
  right: 38px;
  bottom: 12px;
}
.poker-actions--betting {
  left: 225px;
  right: 30px;
  bottom: 10px;
}
.poker-actions > span {
  min-width: 330px;
  text-align: center;
}

/* --- v11: живой чат, выход со стола и статусы на столе --- */
.club-chat-history:empty::before,
.club-chat-users:empty::before {
  content: "";
}
.room-list .status-nick,
.player-list .status-nick {
  float: none;
  display: inline-block;
  width: auto;
  height: auto;
  min-width: 0;
  line-height: 1.1;
  margin: 0 5px 0 0;
  padding: 0 6px 1px;
  border-radius: 8px;
  background: transparent;
  color: #fff;
  text-align: left;
  font-size: inherit;
}
.room-list .status-nick.status-club,
.player-list .status-nick.status-club { color:#65dcff; text-shadow:0 2px 2px #000,0 0 7px rgba(101,220,255,.75); }
.room-list .status-nick.status-vip,
.player-list .status-nick.status-vip { color:#d782ff; text-shadow:0 2px 2px #000,0 0 7px rgba(215,130,255,.75); }
.room-list .status-nick.status-vip-gold,
.player-list .status-nick.status-vip-gold { color:#ffdf38; border:1px solid #ffcc22; background:rgba(80,45,0,.35); box-shadow:0 0 8px rgba(255,200,34,.45); }
.room-list .status-nick.status-vip-platinum,
.player-list .status-nick.status-vip-platinum { color:#f4fbff; border:1px solid #d9f3ff; background:rgba(40,63,77,.48); box-shadow:0 0 9px rgba(225,249,255,.55); }
.poker-seat > b.seat-nick.status-club { color:#65dcff; text-shadow:0 2px 2px #000,0 0 7px rgba(101,220,255,.78); }
.poker-seat > b.seat-nick.status-vip { color:#d782ff; text-shadow:0 2px 2px #000,0 0 7px rgba(215,130,255,.78); }
.poker-seat > b.seat-nick.status-vip-gold { color:#ffdf38; border-color:#ffcc22; background:rgba(80,45,0,.62); box-shadow:0 0 10px rgba(255,200,34,.55), inset 0 0 7px rgba(255,220,75,.16); }
.poker-seat > b.seat-nick.status-vip-platinum { color:#f4fbff; border-color:#d9f3ff; background:rgba(40,63,77,.66); box-shadow:0 0 10px rgba(225,249,255,.65), inset 0 0 8px rgba(255,255,255,.14); }
.poker-seat > b.seat-nick .nick-bolt {
  margin-right: 3px;
  font-size: 12px;
}
.chat-box .status-nick {
  margin-right: 4px;
  padding: 0 6px 1px;
  line-height: 1.1;
}

/* --- v14: табличка блокировки чата и полная синхронизация мута --- */
.modal__box--chat-blocked {
  width: 520px;
  min-height: 300px;
  padding-top: 30px;
  border-color: rgba(255, 92, 92, .9);
  background: linear-gradient(rgba(74, 13, 28, .94), rgba(15, 25, 38, .97));
  box-shadow: 0 15px 30px rgba(0,0,0,.55), 0 0 22px rgba(255,58,58,.35), inset 0 0 32px rgba(255,95,95,.16);
}
.modal__box--chat-blocked::before {
  left: 32px;
  right: 32px;
  top: 75px;
  bottom: 78px;
  border-color: rgba(255, 185, 74, .55);
}
.chat-blocked-icon {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  margin: 0 auto 10px;
  border-radius: 50%;
  color: #fff;
  font-size: 40px;
  background: radial-gradient(circle at 35% 28%, #fff1f1, #df3030 52%, #5d0909 100%);
  border: 2px solid rgba(255,220,220,.9);
  box-shadow: 0 0 18px rgba(255,70,70,.5), 0 8px 9px rgba(0,0,0,.42);
  text-shadow: 0 2px 2px #000;
}
.modal__box--chat-blocked h2 {
  position: relative;
  z-index: 2;
  margin-bottom: 14px;
  color: #fff36b;
  text-shadow: 0 2px 2px #000, 0 0 10px rgba(255, 72, 72, .75);
}
.modal__box--chat-blocked p {
  position: relative;
  z-index: 2;
  margin: 0 20px 24px;
  color: #e8f8ff;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.35;
  text-shadow: 0 2px 2px #000;
}
.club-chat-form input.is-chat-blocked,
.chat-form input.is-chat-blocked {
  color: #ffd1d1;
  border-color: rgba(255, 95, 95, .95);
  background: rgba(72, 12, 22, .75);
  box-shadow: inset 0 0 12px rgba(0,0,0,.35), 0 0 10px rgba(255,50,50,.2);
}
.club-chat-form button.is-chat-blocked,
.chat-form button.is-chat-blocked {
  opacity: .55;
  filter: grayscale(.55);
  cursor: not-allowed;
}

/* --- v13: protected admin + chips + moderation in table --- */
.modal__box--admin-pro {
  width: 760px;
  min-height: 660px;
  padding: 26px 42px 24px;
}
.modal__box--admin-pro h2 { margin-bottom: 8px; }
.modal__box--admin-pro .admin-note {
  max-width: 620px;
  margin-bottom: 12px;
  font-size: 13px;
}
.admin-lock-row {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 150px;
  gap: 12px;
  align-items: end;
  margin-bottom: 10px;
}
.modal__box--admin-pro label {
  display: grid;
  grid-template-columns: 118px 1fr;
  gap: 12px;
  align-items: center;
  margin: 0;
  text-align: right;
}
.modal__box--admin-pro input,
.modal__box--admin-pro select {
  height: 34px;
  border: 2px solid #1fb9eb;
  border-radius: 8px;
  background: linear-gradient(#faffff, #dff4ff);
  color: #102b3c;
  font-weight: 900;
  padding: 0 9px;
  outline: none;
}
.admin-lock-row button,
.admin-tools button {
  height: 34px;
  border-radius: 17px;
  color: #341d00;
  font-weight: 950;
  background: linear-gradient(#fff36b, #ffc525 55%, #d88400);
  box-shadow: inset 0 -4px rgba(90,45,0,.22), 0 4px 7px rgba(0,0,0,.38);
  text-shadow: 0 1px rgba(255,255,255,.55);
}
.admin-stats {
  position: relative;
  z-index: 2;
  min-height: 30px;
  padding: 8px 12px;
  border: 1px solid rgba(92,221,255,.45);
  border-radius: 10px;
  background: rgba(0,33,52,.42);
  color: #dff8ff;
  font-weight: 850;
  text-align: center;
  box-shadow: inset 0 0 14px rgba(0,0,0,.22);
}
.admin-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 18px;
  margin-top: 12px;
}
.admin-grid label { grid-template-columns: 92px 1fr; }
.admin-tools {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
  margin: 14px 0 4px;
}
.admin-tools button:nth-child(4) {
  background: linear-gradient(#ffd6d6, #ff625f 55%, #9e1515);
  color: #fff;
  text-shadow: 0 1px 1px #000;
}
.room-list li {
  position: relative;
  min-height: 22px;
  padding-right: 86px;
}
.room-list .room-skull {
  position: absolute;
  right: 62px;
  top: -2px;
  width: 22px;
  height: 22px;
  padding: 0;
  font-size: 13px;
  line-height: 20px;
}
.table-chat-message {
  position: relative;
  padding-right: 34px;
}
.table-chat-message .table-message-skull {
  right: 2px;
  top: -4px;
}
.table-message-skull.is-active {
  color: #fff0f0;
  background: radial-gradient(circle at 35% 30%, #ffdede, #c43232 62%, #4a0909 100%);
  border-color: #ffb7b7;
  box-shadow: 0 0 11px rgba(255,80,80,.58), 0 2px 6px rgba(0,0,0,.44);
}
.profile-card em::after { content: ""; }


/* --- v14: news screen + admin ticker/news --- */
.screen--news { padding: 36px 42px 155px; }
.news-wrap {
  position: relative;
  width: 760px;
  min-height: 520px;
  border: 2px solid rgba(28,207,255,.78);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(26,143,164,.75), rgba(8,62,88,.86));
  box-shadow: 0 12px 22px rgba(0,0,0,.38), inset 0 0 28px rgba(60,220,255,.18);
  overflow: hidden;
}
.news-title {
  height: 62px;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 0 22px;
  background: linear-gradient(#2da6bd, #0a6686);
  box-shadow: inset 0 -2px rgba(255,255,255,.12), 0 3px 8px rgba(0,0,0,.24);
}
.news-title h1 {
  margin: 0;
  color: #e9faff;
  font-size: 31px;
  font-weight: 950;
  text-shadow: 0 3px 2px #000;
}
.news-list {
  height: 430px;
  padding: 22px 26px;
  overflow-y: auto;
}
.news-empty {
  margin: 70px auto 0;
  width: 430px;
  text-align: center;
  color: #ccefff;
  font-size: 22px;
  font-weight: 900;
  text-shadow: 0 2px 2px #000;
}
.news-item {
  position: relative;
  margin: 0 0 14px;
  padding: 14px 18px 16px;
  border: 2px solid rgba(31,185,235,.62);
  border-radius: 12px;
  background: rgba(3,42,62,.72);
  box-shadow: inset 0 0 18px rgba(0,0,0,.22), 0 5px 10px rgba(0,0,0,.22);
}
.news-item h3 {
  margin: 0 0 7px;
  color: #fff56d;
  font-size: 22px;
  font-weight: 950;
  text-shadow: 0 2px 2px #000;
}
.news-item time {
  display: block;
  margin-bottom: 10px;
  color: #89dcff;
  font-size: 13px;
  font-weight: 900;
}
.news-item p {
  margin: 0;
  color: #e9fbff;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.35;
  white-space: pre-wrap;
}
.admin-site-tools {
  position: relative;
  z-index: 2;
  margin-top: 12px;
  padding: 10px 12px 12px;
  border: 1px solid rgba(92,221,255,.45);
  border-radius: 12px;
  background: rgba(0,33,52,.38);
  box-shadow: inset 0 0 14px rgba(0,0,0,.22);
}
.admin-site-tools h3 {
  margin: 0 0 8px;
  color: #fff56d;
  font-size: 17px;
  text-shadow: 0 2px 1px #000;
}
.modal__box--admin-pro textarea {
  min-height: 64px;
  border: 2px solid #1fb9eb;
  border-radius: 8px;
  background: linear-gradient(#faffff, #dff4ff);
  color: #102b3c;
  font-weight: 900;
  padding: 8px 9px;
  outline: none;
  resize: vertical;
  user-select: text;
}
.admin-news-text-label { align-items: start !important; }
.admin-news-text-label span { padding-top: 8px; }
.admin-site-actions {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin: 8px 0 10px;
}
.admin-site-actions button {
  height: 32px;
  min-width: 190px;
  border-radius: 16px;
  color: #341d00;
  font-weight: 950;
  background: linear-gradient(#fff36b, #ffc525 55%, #d88400);
  box-shadow: inset 0 -4px rgba(90,45,0,.22), 0 4px 7px rgba(0,0,0,.38);
  text-shadow: 0 1px rgba(255,255,255,.55);
}
.admin-site-actions button:nth-child(2) {
  background: linear-gradient(#ffd6d6, #ff625f 55%, #9e1515);
  color: #fff;
  text-shadow: 0 1px 1px #000;
}
.modal__box--admin-pro {
  min-height: 760px;
  max-height: calc(100vh - 38px);
  overflow-y: auto;
}

/* --- Billiards / Pool 8 --- */
.game-grid--three {
  left: 70px;
  top: 172px;
  width: 980px;
  grid-template-columns: repeat(3, 300px);
  column-gap: 32px;
  justify-content: center;
}
.icon--pool::before {
  content:"";
  position:absolute;
  left:38px;
  top:20px;
  width:122px;
  height:70px;
  border-radius:16px;
  background:linear-gradient(#1d99bf,#0c5d7c);
  border:8px solid #613019;
  box-shadow:inset 0 0 14px rgba(0,0,0,.35), 0 5px 8px rgba(0,0,0,.38);
}
.icon--pool::after {
  content:"";
  position:absolute;
  left:58px;
  top:95px;
  width:110px;
  height:8px;
  border-radius:7px;
  background:linear-gradient(90deg,#f6d8a2,#8d5425);
  transform:rotate(-14deg);
  box-shadow:0 3px 4px rgba(0,0,0,.35);
}
.icon--pool b,
.icon--pool i {
  position:absolute;
  z-index:2;
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff 0 14%,#111 15% 100%);
  color:#fff;
  font:900 15px Arial;
  box-shadow:0 3px 3px rgba(0,0,0,.35);
}
.icon--pool b { left:86px; top:50px; }
.icon--pool i:nth-of-type(1){ left:62px; top:35px; background:radial-gradient(circle at 35% 30%,#fff 0 14%,#f5c51a 15% 100%); }
.icon--pool i:nth-of-type(2){ left:116px; top:35px; background:radial-gradient(circle at 35% 30%,#fff 0 14%,#244cd4 15% 100%); }
.icon--pool i:nth-of-type(3){ left:65px; top:66px; background:radial-gradient(circle at 35% 30%,#fff 0 14%,#d61b28 15% 100%); }
.icon--pool i:nth-of-type(4){ left:115px; top:66px; background:radial-gradient(circle at 35% 30%,#fff 0 14%,#7b35a4 15% 100%); }

.pool-layer {
  position:absolute;
  inset:0;
  z-index:19;
  color:#eafcff;
  text-shadow:0 2px 2px #001822;
  contain:layout paint;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.pool-topbar {
  position:absolute;
  left:18px;
  top:44px;
  right:18px;
  height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  z-index:6;
}
.pool-player-card {
  width:185px;
  min-height:58px;
  padding:8px 10px;
  border:2px solid rgba(56,205,242,.85);
  border-radius:14px;
  background:linear-gradient(rgba(8,80,111,.95), rgba(3,38,61,.98));
  box-shadow:0 5px 9px rgba(0,0,0,.35), inset 0 0 15px rgba(88,222,255,.14);
  font-weight:950;
}
.pool-player-card.is-turn { border-color:#ffe34f; box-shadow:0 0 17px rgba(255,226,79,.45), inset 0 0 13px rgba(255,226,79,.18); }
.pool-player-card b { display:block; font-size:16px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pool-player-card span { display:block; color:#bfeeff; font-size:13px; margin-top:2px; }
.pool-status-box {
  flex:1;
  min-height:52px;
  padding:8px 16px;
  border-radius:14px;
  border:2px solid rgba(255,218,52,.75);
  background:linear-gradient(#7a3118,#39160e);
  color:#fff6ce;
  text-align:center;
  font-weight:950;
  box-shadow:0 6px 8px rgba(0,0,0,.42), inset 0 0 14px rgba(255,226,80,.22);
}
.pool-status-box b { display:block; font-size:17px; }
.pool-status-box span { display:block; color:#e9fdff; font-size:13px; margin-top:2px; }
.pool-felt-frame {
  position:absolute;
  left:44px;
  top:126px;
  width:755px;
  height:378px;
  border-radius:34px;
  background:
    linear-gradient(90deg, transparent 0 8%, rgba(255,255,255,.18) 8% 13%, transparent 13% 87%, rgba(255,255,255,.18) 87% 92%, transparent 92% 100%),
    linear-gradient(180deg,#8b4d30 0 18%,#3a160d 19% 24%,#6b3020 25% 75%,#3a160d 76% 82%,#8b4d30 83% 100%);
  border:16px solid #c8d6d8;
  box-shadow:0 18px 14px rgba(0,0,0,.45), inset 0 0 0 8px rgba(39,12,5,.65), inset 0 0 18px rgba(0,0,0,.45);
}
.pool-felt-frame::before {
  content:"";
  position:absolute;
  left:16px; right:16px; top:16px; bottom:16px;
  border-radius:22px;
  box-shadow:
    inset 0 0 0 11px rgba(73,26,14,.78),
    inset 0 0 0 13px rgba(236,248,255,.24);
  pointer-events:none;
}
.pool-felt {
  position:absolute;
  left:19px;
  top:19px;
  width:717px;
  height:340px;
  border-radius:18px;
  background:
    radial-gradient(circle at 40% 35%, rgba(255,255,255,.10), transparent 28%),
    linear-gradient(135deg,#2193bb,#0b5b7d 62%,#06445f);
  overflow:visible;
  box-shadow:inset 0 0 22px rgba(0,0,0,.42);
  cursor:default;
  z-index:2;
}
.pool-layer.is-pool-control-active .pool-felt {
  cursor:none;
}
.pool-felt::after {
  content:"";
  position:absolute;
  left:72.5%; top:0; bottom:0;
  width:1px;
  background:rgba(255,255,255,.22);
}
.pool-pocket {
  position:absolute;
  width:50px;
  height:50px;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 52%, #000 0 60%, #05090b 61% 73%, #16242b 74% 86%, #263941 87% 100%);
  box-shadow:
    inset 0 0 16px #000,
    0 2px 5px rgba(0,0,0,.62);
  z-index:4;
}
.pool-pocket::before {
  content:"";
  position:absolute;
  inset:-5px;
  border-radius:50%;
  background:linear-gradient(135deg,#f5fbfb,#aab9bb 54%,#eff7f8);
  box-shadow:0 2px 4px rgba(0,0,0,.42);
  z-index:-1;
}
.pool-pocket--tl::before { clip-path:polygon(0 0,100% 0,0 100%); }
.pool-pocket--tr::before { clip-path:polygon(0 0,100% 0,100% 100%); }
.pool-pocket--bl::before { clip-path:polygon(0 0,100% 100%,0 100%); }
.pool-pocket--br::before { clip-path:polygon(100% 0,100% 100%,0 100%); }
.pool-pocket--tc::before { clip-path:polygon(0 0,100% 0,100% 49%,0 49%); }
.pool-pocket--bc::before { clip-path:polygon(0 51%,100% 51%,100% 100%,0 100%); }
.pool-pocket::after {
  content:"";
  position:absolute;
  inset:8px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 54%, #000 0 72%, #020507 100%);
  box-shadow:inset 0 0 15px #000;
}
.pool-pocket--tc,
.pool-pocket--bc {
  width:54px;
  height:54px;
}
.pool-pocket--tl{left:-15px;top:-15px}.pool-pocket--tc{left:calc(50% - 27px);top:-27px}.pool-pocket--tr{right:-15px;top:-15px}
.pool-pocket--bl{left:-15px;bottom:-15px}.pool-pocket--bc{left:calc(50% - 27px);bottom:-27px}.pool-pocket--br{right:-15px;bottom:-15px}
.pool-ball {
  position:absolute;
  width:24px;
  height:24px;
  margin:-12px 0 0 -12px;
  border-radius:50%;
  display:grid;
  place-items:center;
  z-index:5;
  font:900 10px Arial;
  color:#111;
  background:radial-gradient(circle at 32% 28%,#fff 0 17%, var(--ball-color,#f5c51a) 18% 100%);
  box-shadow:inset -5px -6px 8px rgba(0,0,0,.22), 0 3px 3px rgba(0,0,0,.4);
  transition:left .045s linear, top .045s linear, opacity .16s;
}
.pool-ball::after {
  content:"";
  position:absolute;
  left:7px;
  top:7px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:rgba(255,255,255,.9);
  z-index:-1;
}
.pool-ball--cue { --ball-color:#fff; color:#dfe8ed; }
.pool-ball--eight { --ball-color:#101010; color:#fff; }
.pool-ball--stripe { background:linear-gradient(#fff 0 25%, var(--ball-color,#f5c51a) 26% 72%, #fff 73% 100%); }
.pool-ball.is-potted { opacity:0; transform:scale(.25); pointer-events:none; }
.pool-aim-line {
  display:none !important;
}

.pool-aim-target {
  position:absolute;
  width:24px;
  height:24px;
  margin:-12px 0 0 -12px;
  border:2px solid rgba(255,255,255,.96);
  border-radius:50%;
  z-index:6;
  pointer-events:none;
  box-shadow:0 0 9px rgba(255,255,255,.82), inset 0 0 7px rgba(255,255,255,.26);
}
.pool-aim-target::before,
.pool-aim-target::after { display:none; }

.pool-cue-ghost {
  position:absolute;
  width:24px;
  height:24px;
  margin:-12px 0 0 -12px;
  border-radius:50%;
  z-index:7;
  pointer-events:none;
  opacity:.72;
  background:radial-gradient(circle at 32% 28%, rgba(255,255,255,.95) 0 18%, rgba(210,220,226,.72) 19% 100%);
  border:2px solid rgba(255,255,255,.78);
  box-shadow:0 0 12px rgba(255,255,255,.42), inset -5px -6px 8px rgba(0,0,0,.18);
}
.pool-cue-ghost.is-invalid {
  opacity:.46;
  border-color:rgba(255,80,80,.85);
  box-shadow:0 0 12px rgba(255,40,40,.55), inset -5px -6px 8px rgba(0,0,0,.18);
}

.pool-cue-stick {
  position:absolute;
  left:0;
  top:0;
  width:210px;
  height:8px;
  border-radius:8px;
  background:linear-gradient(90deg,#6c351c,#e9c27b 72%,#f8e0b1 100%);
  transform-origin:100% 50%;
  z-index:4;
  pointer-events:none;
  box-shadow:0 3px 4px rgba(0,0,0,.32);
}
.pool-actions {
  position:absolute;
  left:140px;
  right:190px;
  bottom:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:42px;
  z-index:8;
}
.pool-actions span {
  padding:8px 16px;
  border-radius:12px;
  background:rgba(0,0,0,.38);
  color:#e9fbff;
  font-weight:950;
}
.pool-power-bar {
  width:230px;
  height:16px;
  padding:2px;
  border-radius:999px;
  border:1px solid rgba(255,232,93,.7);
  background:rgba(0,0,0,.42);
  box-shadow:inset 0 0 7px rgba(0,0,0,.75);
  overflow:hidden;
}
.pool-power-bar i {
  display:block;
  height:100%;
  width:8%;
  border-radius:999px;
  background:linear-gradient(90deg,#f4e75c,#ff9d14,#ff3818);
  box-shadow:0 0 8px rgba(255,190,25,.75);
  transition:width .06s linear;
}
.pool-actions small {
  max-width:190px;
  color:#dcfbff;
  font-weight:900;
  font-size:10px;
  line-height:1.05;
  text-shadow:0 2px 2px #001822;
  opacity:.86;
}
.pool-actions button {
  min-width:118px;
  height:34px;
  border-radius:18px;
  color:#3a1d00;
  font-weight:950;
  background:linear-gradient(#fff16e,#ffbc18 55%,#b86d00);
  box-shadow:0 4px 5px rgba(0,0,0,.35), inset 0 2px rgba(255,255,255,.35);
}
.pool-balls-tray {
  position:absolute;
  left:58px;
  top:525px;
  display:flex;
  gap:5px;
  align-items:center;
  z-index:7;
}
.pool-tray-ball {
  width:20px;
  height:20px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font:900 9px Arial;
  color:#111;
  background:radial-gradient(circle at 35% 30%,#fff 0 18%, var(--ball-color,#f5c51a) 19% 100%);
  opacity:.45;
  box-shadow:inset -4px -4px 5px rgba(0,0,0,.22),0 2px 2px rgba(0,0,0,.3);
}
.pool-tray-ball.is-potted { opacity:1; transform:translateY(-5px); }
.pool-rules-note {
  position:absolute;
  right:36px;
  top:555px;
  width:190px;
  color:#c8efff;
  font-size:12px;
  line-height:1.25;
  text-align:right;
  opacity:.85;
}
/* pool8 black pocket cut fix: keep pocket mouths outside the playing cloth */
.pool-pocket {
  overflow:hidden;
}
.pool-pocket--tl { clip-path:polygon(0 0,100% 0,0 100%); }
.pool-pocket--tr { clip-path:polygon(0 0,100% 0,100% 100%); }
.pool-pocket--bl { clip-path:polygon(0 0,100% 100%,0 100%); }
.pool-pocket--br { clip-path:polygon(100% 0,100% 100%,0 100%); }
.pool-pocket--tc { clip-path:polygon(0 0,100% 0,100% 50%,0 50%); }
.pool-pocket--bc { clip-path:polygon(0 50%,100% 50%,100% 100%,0 100%); }

/* ===== Pool8 premium polish: ближе к LiveGames, без изменения логики ===== */
body {
  background:
    radial-gradient(circle at 18% 22%, rgba(29, 130, 163, .26), transparent 34%),
    radial-gradient(circle at 78% 70%, rgba(16, 103, 137, .24), transparent 30%),
    repeating-radial-gradient(circle at 50% 50%, rgba(255,255,255,.030) 0 1px, transparent 2px 18px),
    linear-gradient(180deg, #073f57 0%, #052c42 56%, #04253a 100%);
}

.app {
  background:
    linear-gradient(90deg, rgba(0,0,0,.18) 0 7.5%, transparent 7.5% 92.5%, rgba(0,0,0,.18) 92.5% 100%),
    radial-gradient(circle at 48% 42%, rgba(34, 141, 176, .22), transparent 38%),
    repeating-radial-gradient(circle at 11% 42%, rgba(255,255,255,.026) 0 1px, transparent 2px 14px),
    linear-gradient(180deg, #073d55, #04293e);
}

.app--table .club-shell {
  background:
    radial-gradient(circle at 28% 18%, rgba(82, 185, 215, .22), transparent 27%),
    radial-gradient(circle at 58% 50%, rgba(12, 103, 137, .58), transparent 49%),
    repeating-radial-gradient(circle at 18% 24%, rgba(255,255,255,.038) 0 1px, transparent 2px 11px),
    linear-gradient(180deg, #0a5d7b 0%, #063d58 48%, #052a40 100%);
  border-color: rgba(70, 219, 255, .82);
  border-radius: 22px;
  box-shadow:
    0 18px 34px rgba(0,0,0,.52),
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 0 46px rgba(0,0,0,.38),
    0 0 18px rgba(0, 187, 255, .16);
}

.app--table .club-shell::before {
  background:
    linear-gradient(90deg, transparent 0%, rgba(255,255,255,.08) 12%, transparent 30% 100%),
    radial-gradient(circle at 94% 8%, rgba(255,255,255,.13), transparent 17%);
  opacity: .95;
}

.app--table .table-area {
  border-color: rgba(73, 220, 255, .75);
  border-radius: 22px;
  background:
    radial-gradient(circle at 43% 38%, rgba(255,255,255,.12), transparent 27%),
    repeating-radial-gradient(circle at 31% 30%, rgba(255,255,255,.055) 0 1px, transparent 2px 10px),
    linear-gradient(180deg, rgba(22, 112, 146, .96), rgba(5, 51, 74, .98));
  box-shadow:
    inset 0 0 36px rgba(0,0,0,.34),
    0 9px 18px rgba(0,0,0,.42),
    0 0 0 1px rgba(255,255,255,.08);
}

.app--table .felt-wall {
  background:
    repeating-radial-gradient(circle at 27% 28%, rgba(255,255,255,.055) 0 1px, transparent 2px 9px),
    radial-gradient(circle at 48% 44%, rgba(255,255,255,.06), transparent 42%);
  opacity: .75;
}

.app--table .table-title {
  top: 14px;
  color: #f3fdff;
  font-size: 23px;
  letter-spacing: .2px;
  text-shadow: 0 3px 2px rgba(0,0,0,.75), 0 0 10px rgba(95,220,255,.22);
}

.pool-topbar {
  top: 48px;
  left: 20px;
  right: 20px;
  height: 68px;
  gap: 13px;
}

.pool-player-card {
  border-radius: 18px;
  border-color: rgba(72, 225, 255, .90);
  background:
    radial-gradient(circle at 18% 0%, rgba(255,255,255,.18), transparent 38%),
    linear-gradient(180deg, rgba(11, 99, 134, .97), rgba(4, 42, 65, .98));
  box-shadow:
    0 7px 12px rgba(0,0,0,.36),
    inset 0 1px 0 rgba(255,255,255,.24),
    inset 0 0 18px rgba(74,219,255,.13);
}

.pool-player-card.is-turn {
  border-color: #fff066;
  box-shadow:
    0 0 18px rgba(255,225,65,.50),
    0 7px 12px rgba(0,0,0,.38),
    inset 0 0 18px rgba(255,232,86,.18);
}

.pool-player-card b { font-size: 17px; }
.pool-player-card span { color: #c9f4ff; font-size: 13px; }

.pool-status-box {
  min-height: 58px;
  border-radius: 18px;
  border-color: rgba(255, 213, 50, .88);
  background:
    radial-gradient(circle at 50% 0%, rgba(255,199,82,.28), transparent 45%),
    linear-gradient(180deg, #8b3519 0%, #5b2112 45%, #32120b 100%);
  box-shadow:
    0 8px 13px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.2),
    inset 0 0 20px rgba(255,217,72,.18);
}

.pool-status-box b {
  color: #fff9d8;
  font-size: 18px;
  text-shadow: 0 3px 2px #1a0804;
}

.pool-status-box span { color: #f5fdff; }

.pool-felt-frame {
  top: 128px;
  border-radius: 34px;
  border: 17px solid #d6e3e4;
  background:
    linear-gradient(90deg,
      #eceff0 0 8.5%, transparent 8.6% 50%, transparent 50% 91.4%, #eceff0 91.5% 100%),
    linear-gradient(0deg,
      #f0f4f4 0 8.5%, transparent 8.6% 50%, transparent 50% 91.4%, #f0f4f4 91.5% 100%),
    linear-gradient(90deg, transparent 0 9%, rgba(255,255,255,.22) 9% 13%, transparent 13% 87%, rgba(255,255,255,.22) 87% 91%, transparent 91% 100%),
    linear-gradient(180deg, #93523a 0 14%, #552116 15% 24%, #7b3726 25% 75%, #4b1b13 76% 85%, #95553d 86% 100%);
  box-shadow:
    0 20px 18px rgba(0,0,0,.50),
    inset 0 0 0 8px rgba(45,17,8,.72),
    inset 0 0 24px rgba(0,0,0,.58),
    0 0 0 1px rgba(255,255,255,.18);
}

.pool-felt-frame::before {
  left: 16px;
  right: 16px;
  top: 16px;
  bottom: 16px;
  border-radius: 23px;
  box-shadow:
    inset 0 0 0 11px rgba(83, 30, 17, .82),
    inset 0 0 0 13px rgba(248,252,255,.32),
    inset 0 0 25px rgba(0,0,0,.28);
}

.pool-felt-frame::after {
  content: "";
  position: absolute;
  left: 78px;
  top: 15px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #fff6a5, #9b8b37 72%);
  box-shadow:
    100px 0 0 #b2a350,
    200px 0 0 #b2a350,
    300px 0 0 #b2a350,
    400px 0 0 #b2a350,
    500px 0 0 #b2a350,
    600px 0 0 #b2a350,
    0 331px 0 #b2a350,
    100px 331px 0 #b2a350,
    200px 331px 0 #b2a350,
    300px 331px 0 #b2a350,
    400px 331px 0 #b2a350,
    500px 331px 0 #b2a350,
    600px 331px 0 #b2a350,
    -62px 76px 0 #b2a350,
    -62px 177px 0 #b2a350,
    -62px 278px 0 #b2a350,
    662px 76px 0 #b2a350,
    662px 177px 0 #b2a350,
    662px 278px 0 #b2a350;
  opacity: .72;
  pointer-events: none;
  z-index: 3;
}

.pool-felt {
  left: 19px;
  top: 19px;
  border-radius: 19px;
  background:
    radial-gradient(circle at 34% 30%, rgba(255,255,255,.12), transparent 28%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(90deg, rgba(0,0,0,.035) 0 1px, transparent 1px 6px),
    linear-gradient(135deg, #2b9fc0 0%, #126f92 47%, #07506f 100%);
  box-shadow:
    inset 0 0 32px rgba(0,0,0,.46),
    inset 0 0 0 1px rgba(255,255,255,.12);
}

.pool-felt::after {
  left: 72.5%;
  width: 2px;
  background: linear-gradient(180deg, transparent, rgba(214,239,248,.45) 12% 88%, transparent);
  box-shadow: 0 0 8px rgba(210,239,255,.16);
}

.pool-pocket {
  width: 54px;
  height: 54px;
  background:
    radial-gradient(circle at 50% 55%, #000 0 51%, #05090b 52% 67%, #d9e3e4 68% 80%, #8e9b9e 81% 91%, #f3f8f8 92% 100%);
  box-shadow:
    inset 0 0 18px #000,
    0 3px 7px rgba(0,0,0,.65),
    0 0 0 1px rgba(255,255,255,.17);
}

.pool-pocket::before {
  inset: -1px;
  background: linear-gradient(135deg,#f4fbfb,#a9b7b9 56%,#f6fcfc);
  box-shadow: inset 0 0 11px rgba(0,0,0,.26), 0 2px 3px rgba(0,0,0,.38);
}

.pool-pocket::after {
  inset: 10px;
  background: radial-gradient(circle at 50% 56%, #000 0 74%, #020507 100%);
  box-shadow: inset 0 0 18px #000, 0 0 0 1px rgba(255,255,255,.06);
}

.pool-pocket--tc,
.pool-pocket--bc {
  width: 58px;
  height: 58px;
}
.pool-pocket--tl{left:-18px;top:-18px}.pool-pocket--tc{left:calc(50% - 29px);top:-31px}.pool-pocket--tr{right:-18px;top:-18px}
.pool-pocket--bl{left:-18px;bottom:-18px}.pool-pocket--bc{left:calc(50% - 29px);bottom:-31px}.pool-pocket--br{right:-18px;bottom:-18px}

.pool-ball {
  width: 25px;
  height: 25px;
  margin: -12.5px 0 0 -12.5px;
  font-size: 10px;
  background:
    radial-gradient(circle at 28% 25%, #fff 0 12%, rgba(255,255,255,.88) 13% 18%, var(--ball-color,#f5c51a) 19% 100%);
  box-shadow:
    inset -5px -7px 9px rgba(0,0,0,.25),
    inset 3px 3px 5px rgba(255,255,255,.20),
    0 4px 4px rgba(0,0,0,.42);
  transition: left .065s linear, top .065s linear, opacity .16s, transform .16s;
}

.pool-ball::after {
  left: 7px;
  top: 7px;
  width: 10px;
  height: 10px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 0 2px rgba(0,0,0,.22);
}

.pool-ball--stripe {
  background:
    radial-gradient(circle at 28% 24%, rgba(255,255,255,.96) 0 11%, transparent 12%),
    linear-gradient(#fff 0 26%, var(--ball-color,#f5c51a) 27% 72%, #fff 73% 100%);
}

.pool-cue-stick {
  height: 9px;
  border-radius: 9px;
  background: linear-gradient(90deg,#572613 0%,#8e4a22 25%,#f2c987 77%,#fff0c7 100%);
  box-shadow: 0 4px 5px rgba(0,0,0,.36), inset 0 1px rgba(255,255,255,.28);
}

.pool-aim-target {
  border-color: rgba(255,255,255,.98);
  box-shadow: 0 0 12px rgba(255,255,255,.9), inset 0 0 8px rgba(255,255,255,.30);
}

.pool-cue-ghost {
  background: radial-gradient(circle at 30% 25%, rgba(255,255,255,.97) 0 17%, rgba(218,228,234,.74) 18% 100%);
}

.pool-actions {
  z-index: 11;
}

.pool-actions--power {
  left: 76px;
  top: 34px;
  right: auto;
  bottom: auto;
  width: 310px;
  height: 76px;
  padding: 12px 14px 10px;
  gap: 8px;
  flex-wrap: wrap;
  border-radius: 12px 12px 18px 18px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,205,102,.26), transparent 42%),
    linear-gradient(180deg, #8d4526 0%, #5b2717 52%, #2f130b 100%);
  border: 2px solid rgba(130,61,24,.95);
  box-shadow: 0 8px 10px rgba(0,0,0,.45), inset 0 2px 0 rgba(255,255,255,.20), inset 0 0 16px rgba(0,0,0,.35);
}

.pool-actions--power span {
  width: 100%;
  padding: 0;
  background: transparent;
  text-align: center;
  color: #fff8df;
  font-size: 15px;
}

.pool-actions--power .pool-power-bar {
  width: 230px;
  height: 18px;
  border-color: rgba(255,241,151,.72);
  background: rgba(18,7,2,.55);
}

.pool-actions--power button {
  min-width: 58px;
  height: 27px;
  font-size: 12px;
}

.pool-actions--power small {
  width: 100%;
  max-width: none;
  text-align: center;
  font-size: 10px;
  opacity: .78;
}

.pool-actions--info,
.pool-actions--place {
  left: 230px;
  right: 220px;
  bottom: 46px;
}

.pool-actions--info span,
.pool-actions--place span {
  border-radius: 14px;
  background: rgba(0, 25, 38, .52);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 5px 8px rgba(0,0,0,.30);
}

.pool-balls-tray {
  left: 60px;
  top: 523px;
  gap: 6px;
  filter: drop-shadow(0 3px 2px rgba(0,0,0,.34));
}

.pool-tray-ball {
  width: 21px;
  height: 21px;
  opacity: .60;
}

.pool-rules-note {
  right: 34px;
  top: 552px;
  color: #d8f4ff;
  text-shadow: 0 2px 2px #001925;
}

.app--table .room-panel {
  right: 8px;
  top: 18px;
  width: 262px;
  bottom: 103px;
  padding: 12px 12px 10px;
  border: 1px solid rgba(55,211,255,.62);
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% 0%, rgba(67,181,218,.26), transparent 24%),
    linear-gradient(180deg, rgba(9,85,117,.96), rgba(5,47,72,.98));
  box-shadow:
    0 12px 20px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 0 27px rgba(0,0,0,.30);
}

.app--table .room-list {
  position: relative;
  height: 260px;
  padding: 14px 14px 12px;
  border-radius: 22px;
  border-color: rgba(72,221,255,.56);
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.10), transparent 33%),
    linear-gradient(180deg, rgba(8,67,96,.94), rgba(4,43,67,.98));
  box-shadow: inset 0 0 20px rgba(0,0,0,.24);
}

.app--table .room-list h3 {
  margin: 0 0 10px;
  color: #c8f1ff;
  font-size: 17px;
  font-style: italic;
  line-height: 1.1;
  text-shadow: 0 3px 2px rgba(0,0,0,.75);
}

/* V75: декоративная полоска из пяти значков над никами удалена со всех столов. */
.app--table .room-list h3::after { content: none !important; display: none !important; }

.app--table .room-list ol {
  font-size: 16px;
  line-height: 1.3;
}

.app--table .room-list li {
  margin: 7px 0;
  padding: 2px 0;
}

.app--table .room-list li::before {
  color: #b7ff65;
  text-shadow: 0 0 8px rgba(163,255,102,.34);
}

.app--table .room-list small {
  margin: 10px 0 7px 0;
  color: #cbeeff;
  font-size: 15px;
  font-style: italic;
}

.app--table .room-list span {
  background: linear-gradient(#39d8ff,#078fbe);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 2px 4px rgba(0,0,0,.25);
}

.app--table .tabs-mini {
  height: 40px;
  padding-top: 4px;
}

.app--table .tabs-mini button {
  height: 34px;
  border-color: rgba(73,220,255,.70);
  border-radius: 9px 9px 0 0;
  background: linear-gradient(180deg, #35a9d5 0%, #0a628b 56%, #053f62 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25);
}

.app--table .chat-box {
  height: 253px;
  border-color: rgba(72,221,255,.56);
  border-radius: 0 0 20px 20px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.08), transparent 25%),
    linear-gradient(180deg, rgba(7,66,95,.95), rgba(3,42,65,.98));
  box-shadow: inset 0 0 18px rgba(0,0,0,.25);
}

.app--table .chat-form {
  height: 48px;
  padding-top: 8px;
}

.app--table .chat-form input {
  height: 34px;
  border-color: rgba(75,220,255,.68);
  border-radius: 12px;
  background: rgba(5, 43, 66, .78);
  box-shadow: inset 0 2px 7px rgba(0,0,0,.38);
}

.app--table .chat-form button {
  width: 44px;
  height: 44px;
  margin-left: 7px;
  color: #fff;
  background: radial-gradient(circle at 35% 30%, #e4ff68 0 18%, #7bdd16 19% 62%, #2e8b05 100%);
  box-shadow: 0 5px 8px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.46);
}

.app--table .big-lobby {
  right: -7px;
  bottom: -88px;
  background: radial-gradient(circle at 42% 34%, #2a2071 0 34%, #12105b 35% 66%, #c78108 67% 100%);
  box-shadow: 0 8px 10px rgba(0,0,0,.35), inset 0 2px 0 rgba(255,255,255,.16);
}

.app--table .bottom-bar {
  background:
    linear-gradient(180deg, rgba(7,73,103,.95), rgba(3,38,59,.98));
  border-top: 1px solid rgba(89,218,255,.35);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 -10px 20px rgba(0,0,0,.25);
}


/* ===== Pool8 clean LiveGames table: борта/лузы без наложения на сукно =====
   Чистый финальный слой: старые псевдо-борта отключены, сукно 717x340 оставлено
   для JS-физики, белые карманы и коричневые борта стоят СНАРУЖИ поля. */
.app--table .pool-felt-frame {
  left: 18px !important;
  top: 124px !important;
  width: 807px !important;
  height: 418px !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 30px !important;
  background: transparent !important;
  box-shadow: 0 20px 18px rgba(0,0,0,.48) !important;
}

.app--table .pool-felt-frame::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.10), transparent 34%),
    linear-gradient(180deg, rgba(218,235,238,.72) 0%, rgba(122,143,150,.58) 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.38),
    inset 0 0 24px rgba(0,0,0,.34),
    0 3px 8px rgba(0,0,0,.30) !important;
}

.app--table .pool-felt-frame::after {
  content: none !important;
  display: none !important;
}

.app--table .pool-felt {
  left: 45px !important;
  top: 39px !important;
  width: 717px !important;
  height: 340px !important;
  z-index: 3 !important;
  overflow: visible !important;
  border-radius: 7px !important;
  background:
    radial-gradient(circle at 35% 32%, rgba(255,255,255,.13), transparent 30%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(90deg, rgba(0,0,0,.025) 0 1px, transparent 1px 6px),
    linear-gradient(135deg, #2996b5 0%, #126c8d 48%, #064a67 100%) !important;
  box-shadow:
    inset 0 0 34px rgba(0,0,0,.48),
    inset 0 0 0 1px rgba(221,248,255,.18),
    0 2px 5px rgba(0,0,0,.24) !important;
}

.app--table .pool-felt::after {
  left: 72.5% !important;
  width: 2px !important;
  background: linear-gradient(180deg, transparent, rgba(217,244,255,.40) 12% 88%, transparent) !important;
  box-shadow: 0 0 8px rgba(210,239,255,.16) !important;
}

/* Коричневые борта — отдельные сегменты, как на референсе, с разрывами под лузами. */
.app--table .pool-rail {
  position: absolute !important;
  display: block !important;
  pointer-events: none !important;
  z-index: 2 !important;
  border: 1px solid rgba(91,39,26,.72) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), transparent 22% 100%),
    linear-gradient(90deg, #9b553d 0%, #6f2d25 22%, #35140e 50%, #6f2d25 78%, #a35e43 100%) !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.18),
    inset 0 -6px 10px rgba(0,0,0,.40),
    0 2px 4px rgba(0,0,0,.38) !important;
}

.app--table .pool-rail::after {
  content: none !important;
  display: none !important;
}

.app--table .pool-rail--top,
.app--table .pool-rail--bottom {
  left: 78px !important;
  right: 78px !important;
  height: 31px !important;
  border-radius: 7px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.20), transparent 22% 100%),
    linear-gradient(90deg,
      #9c573f 0%, #6d2b24 21%, #35130e 44%,
      transparent 44.2%, transparent 55.8%,
      #35130e 56%, #6d2b24 79%, #a45e43 100%) !important;
}

.app--table .pool-rail--top { top: 9px !important; }
.app--table .pool-rail--bottom { bottom: 9px !important; }

.app--table .pool-rail--left,
.app--table .pool-rail--right {
  top: 78px !important;
  bottom: 78px !important;
  width: 31px !important;
  border-radius: 7px !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.18), transparent 26% 100%),
    linear-gradient(180deg, #9c573f 0%, #6d2b24 22%, #35130e 50%, #6d2b24 78%, #a45e43 100%) !important;
  box-shadow:
    inset 2px 0 0 rgba(255,255,255,.15),
    inset -6px 0 10px rgba(0,0,0,.38),
    2px 0 4px rgba(0,0,0,.34) !important;
}

.app--table .pool-rail--left { left: 9px !important; }
.app--table .pool-rail--right { right: 9px !important; }

/* Маленькие жёлтые точки лежат на коричневых бортах и не заходят на лузы. */
.app--table .pool-rail-dots {
  position: absolute !important;
  left: 118px !important;
  top: 22px !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  z-index: 5 !important;
  pointer-events: none !important;
  background: radial-gradient(circle at 35% 30%, #fff7a8 0 18%, #b7a142 19% 100%) !important;
  box-shadow:
    105px 0 0 #b7a142,
    210px 0 0 #b7a142,
    370px 0 0 #b7a142,
    475px 0 0 #b7a142,
    580px 0 0 #b7a142,
    0 368px 0 #b7a142,
    105px 368px 0 #b7a142,
    210px 368px 0 #b7a142,
    370px 368px 0 #b7a142,
    475px 368px 0 #b7a142,
    580px 368px 0 #b7a142,
    -94px 100px 0 #b7a142,
    -94px 200px 0 #b7a142,
    -94px 300px 0 #b7a142,
    658px 100px 0 #b7a142,
    658px 200px 0 #b7a142,
    658px 300px 0 #b7a142 !important;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.50)) !important;
}

/* Лузы — поверх всех декоративных деталей. Белое не залезает на игровое поле. */
.app--table .pool-felt-frame > .pool-pocket {
  width: 62px !important;
  height: 62px !important;
  z-index: 8 !important;
  overflow: visible !important;
  clip-path: none !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  isolation: isolate !important;
}

.app--table .pool-felt-frame > .pool-pocket::before {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(135deg, #fbffff 0%, #dce7e9 38%, #9daeb3 62%, #f8ffff 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.88),
    inset 0 -6px 10px rgba(41,58,65,.23),
    0 3px 5px rgba(0,0,0,.35) !important;
}

.app--table .pool-felt-frame > .pool-pocket::after {
  content: "" !important;
  position: absolute !important;
  inset: 6px !important;
  z-index: 2 !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 50% 55%, #000 0 56%, #020506 57% 72%, #10191d 73% 100%) !important;
  box-shadow:
    inset 0 0 18px #000,
    0 2px 5px rgba(0,0,0,.70),
    0 0 0 2px rgba(214,225,227,.60) !important;
}

.app--table .pool-felt-frame > .pool-pocket--tl { left: 14px !important; top: 8px !important; }
.app--table .pool-felt-frame > .pool-pocket--tc { left: calc(50% - 31px) !important; top: 8px !important; }
.app--table .pool-felt-frame > .pool-pocket--tr { right: 14px !important; top: 8px !important; }
.app--table .pool-felt-frame > .pool-pocket--bl { left: 14px !important; bottom: 8px !important; }
.app--table .pool-felt-frame > .pool-pocket--bc { left: calc(50% - 31px) !important; bottom: 8px !important; }
.app--table .pool-felt-frame > .pool-pocket--br { right: 14px !important; bottom: 8px !important; }

.app--table .pool-felt-frame > .pool-pocket--tl::before,
.app--table .pool-felt-frame > .pool-pocket--tr::before,
.app--table .pool-felt-frame > .pool-pocket--bl::before,
.app--table .pool-felt-frame > .pool-pocket--br::before {
  width: 84px !important;
  height: 84px !important;
  border-radius: 18px !important;
}

.app--table .pool-felt-frame > .pool-pocket--tl::before {
  left: -16px !important;
  top: -10px !important;
  clip-path: polygon(0 0, 100% 0, 100% 38%, 66% 38%, 38% 66%, 38% 100%, 0 100%) !important;
}
.app--table .pool-felt-frame > .pool-pocket--tr::before {
  right: -16px !important;
  top: -10px !important;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 62% 100%, 62% 66%, 34% 38%, 0 38%) !important;
}
.app--table .pool-felt-frame > .pool-pocket--bl::before {
  left: -16px !important;
  bottom: -10px !important;
  clip-path: polygon(0 0, 38% 0, 38% 34%, 66% 62%, 100% 62%, 100% 100%, 0 100%) !important;
}
.app--table .pool-felt-frame > .pool-pocket--br::before {
  right: -16px !important;
  bottom: -10px !important;
  clip-path: polygon(62% 0, 100% 0, 100% 100%, 0 100%, 0 62%, 34% 62%, 62% 34%) !important;
}

.app--table .pool-felt-frame > .pool-pocket--tc::before,
.app--table .pool-felt-frame > .pool-pocket--bc::before {
  left: -17px !important;
  width: 96px !important;
  height: 58px !important;
  border-radius: 10px 10px 18px 18px !important;
}
.app--table .pool-felt-frame > .pool-pocket--tc::before { top: -9px !important; }
.app--table .pool-felt-frame > .pool-pocket--bc::before {
  bottom: -9px !important;
  border-radius: 18px 18px 10px 10px !important;
}

.app--table .pool-ball {
  z-index: 6 !important;
}

.app--table .pool-cue-stick,
.app--table .pool-aim-target,
.app--table .pool-cue-ghost {
  z-index: 7 !important;
}

.app--table .pool-balls-tray {
  top: 558px !important;
}

.app--table .pool-rules-note {
  top: 558px !important;
}



/* ===== Pool8 visual overlay fix: шар и кий не прячутся под лузами/бортами ===== */
.app--table .table-area.table-area--pool {
  overflow: visible !important;
}

.app--table .pool-play-overlay {
  position: absolute !important;
  left: 45px !important;
  top: 39px !important;
  width: 717px !important;
  height: 340px !important;
  z-index: 20 !important;
  overflow: visible !important;
  pointer-events: none !important;
}

.app--table .pool-play-overlay .pool-ball {
  z-index: 24 !important;
}

.app--table .pool-play-overlay .pool-cue-stick,
.app--table .pool-play-overlay .pool-aim-target,
.app--table .pool-play-overlay .pool-cue-ghost {
  z-index: 26 !important;
}

.app--table .pool-play-overlay .pool-cue-stick {
  transform-origin: 100% 50% !important;
}

.app--table .pool-felt-frame > .pool-pocket {
  z-index: 12 !important;
}

.app--table .pool-felt {
  overflow: visible !important;
}

/* ===== Pool8 realistic pocket sink: шар мягко проваливается в лузу ===== */
.app--table .pool-play-overlay .pool-ball.is-sinking {
  z-index: 23 !important;
  opacity: var(--sink-opacity, .55) !important;
  transform: scale(var(--sink-scale, .55)) !important;
  filter: brightness(.72) saturate(.9) drop-shadow(0 1px 2px rgba(0,0,0,.75)) !important;
  transition:
    left .055s linear,
    top .055s linear,
    opacity .055s linear,
    transform .055s linear,
    filter .055s linear !important;
}

.app--table .pool-play-overlay .pool-ball.is-sinking::after {
  opacity: .45 !important;
}

.app--table .pool-play-overlay .pool-ball.is-potted {
  opacity: 0 !important;
  transform: scale(.18) !important;
  pointer-events: none !important;
}


/* ===== Pool8 HQ balls: реалистичные шары + чистый биток без точки ===== */
.app--table .pool-play-overlay .pool-ball {
  width: 25px !important;
  height: 25px !important;
  margin: -12.5px 0 0 -12.5px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  isolation: isolate !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  font: 900 9px/1 Arial, sans-serif !important;
  color: #161616 !important;
  text-shadow: none !important;
  background:
    radial-gradient(circle at 28% 23%, rgba(255,255,255,.98) 0 6%, rgba(255,255,255,.58) 7% 12%, rgba(255,255,255,0) 21%),
    radial-gradient(circle at 34% 29%, color-mix(in srgb, var(--ball-color,#f5c51a) 62%, white) 0 23%, var(--ball-color,#f5c51a) 46%, color-mix(in srgb, var(--ball-color,#f5c51a) 64%, black) 100%) !important;
  box-shadow:
    inset 4px 4px 7px rgba(255,255,255,.25),
    inset -6px -8px 10px rgba(0,0,0,.38),
    inset -1px -1px 2px rgba(0,0,0,.55),
    0 4px 5px rgba(0,0,0,.46) !important;
}

.app--table .pool-play-overlay .pool-ball::before {
  content: "" !important;
  position: absolute !important;
  inset: 1px !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 3 !important;
  background:
    radial-gradient(circle at 28% 21%, rgba(255,255,255,.95) 0 7%, rgba(255,255,255,.34) 8% 15%, transparent 26%),
    radial-gradient(ellipse at 72% 80%, rgba(0,0,0,.34) 0 24%, transparent 53%),
    linear-gradient(135deg, rgba(255,255,255,.18), transparent 45%, rgba(0,0,0,.18)) !important;
}

.app--table .pool-play-overlay .pool-ball:not(.pool-ball--cue)::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 12px !important;
  height: 12px !important;
  transform: translate(-50%,-50%) !important;
  border-radius: 50% !important;
  z-index: 2 !important;
  opacity: 1 !important;
  background:
    radial-gradient(circle at 33% 25%, #ffffff 0 28%, #f6f3e9 52%, #d9d2c5 100%) !important;
  box-shadow:
    inset -1px -2px 2px rgba(0,0,0,.18),
    0 0 0 1px rgba(0,0,0,.15),
    0 1px 2px rgba(0,0,0,.18) !important;
}

.app--table .pool-play-overlay .pool-ball .pool-ball-num {
  position: relative !important;
  z-index: 4 !important;
  display: block !important;
  min-width: 11px !important;
  text-align: center !important;
  transform: translateY(.3px) !important;
  color: #111 !important;
  letter-spacing: -.5px !important;
  font: 900 8.5px/1 Arial, sans-serif !important;
}

.app--table .pool-play-overlay .pool-ball--stripe {
  background:
    radial-gradient(circle at 28% 23%, rgba(255,255,255,.98) 0 6%, rgba(255,255,255,.58) 7% 12%, rgba(255,255,255,0) 21%),
    linear-gradient(to bottom, #f7f4e9 0 23%, transparent 24% 76%, #e7e1d6 77% 100%),
    linear-gradient(to bottom, transparent 0 24%, color-mix(in srgb, var(--ball-color,#f5c51a) 86%, white) 25% 34%, var(--ball-color,#f5c51a) 35% 70%, color-mix(in srgb, var(--ball-color,#f5c51a) 70%, black) 71% 76%, transparent 77% 100%),
    radial-gradient(circle at 34% 29%, #ffffff 0 23%, #ece8dd 55%, #aaa49b 100%) !important;
}

.app--table .pool-play-overlay .pool-ball--eight {
  --ball-color: #080808 !important;
  background:
    radial-gradient(circle at 28% 23%, rgba(255,255,255,.86) 0 5%, rgba(255,255,255,.28) 6% 12%, rgba(255,255,255,0) 22%),
    radial-gradient(circle at 35% 29%, #3a3a3a 0 20%, #090909 55%, #000 100%) !important;
}

.app--table .pool-play-overlay .pool-ball--cue {
  --ball-color: #f8f8ef !important;
  color: transparent !important;
  background:
    radial-gradient(circle at 28% 22%, #ffffff 0 8%, rgba(255,255,255,.72) 9% 17%, rgba(255,255,255,0) 28%),
    radial-gradient(circle at 36% 30%, #ffffff 0 28%, #f4f1e6 58%, #cfc8bb 100%) !important;
}

.app--table .pool-play-overlay .pool-ball--cue::after,
.app--table .pool-play-overlay .pool-ball--cue .pool-ball-num {
  content: none !important;
  display: none !important;
}

.app--table .pool-play-overlay .pool-ball.is-sinking::before {
  opacity: .55 !important;
}

/* Мини-шары в нижнем ряду тоже чуть качественнее */
.app--table .pool-tray-ball {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  display: grid !important;
  place-items: center !important;
  background:
    radial-gradient(circle at 30% 24%, rgba(255,255,255,.96) 0 8%, rgba(255,255,255,.48) 9% 16%, transparent 27%),
    radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--ball-color,#f5c51a) 62%, white) 0 25%, var(--ball-color,#f5c51a) 52%, color-mix(in srgb, var(--ball-color,#f5c51a) 62%, black) 100%) !important;
  box-shadow: inset -4px -5px 6px rgba(0,0,0,.30), inset 2px 2px 4px rgba(255,255,255,.22), 0 3px 3px rgba(0,0,0,.35) !important;
}

.app--table .pool-tray-ball:not(.pool-ball--cue)::after {
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:10px !important;
  height:10px !important;
  transform:translate(-50%,-50%) !important;
  border-radius:50% !important;
  z-index:1 !important;
  background: radial-gradient(circle at 33% 25%, #fff 0 32%, #f4efe3 60%, #d4cabe 100%) !important;
  box-shadow: 0 0 0 1px rgba(0,0,0,.13) !important;
}

.app--table .pool-tray-ball.pool-ball--stripe {
  background:
    radial-gradient(circle at 30% 24%, rgba(255,255,255,.96) 0 8%, rgba(255,255,255,.48) 9% 16%, transparent 27%),
    linear-gradient(to bottom, #f8f4e8 0 24%, transparent 25% 75%, #e4ded2 76% 100%),
    linear-gradient(to bottom, transparent 0 25%, var(--ball-color,#f5c51a) 26% 74%, transparent 75% 100%),
    radial-gradient(circle at 35% 30%, #fff 0 25%, #e8e3d8 55%, #aaa49b 100%) !important;
}

.app--table .pool-tray-ball .pool-ball-num {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  color:#101010 !important;
  text-shadow:none !important;
  font:900 8px/1 Arial, sans-serif !important;
  transform:translateY(.3px) !important;
}

/* === Durak podkidnoy: separate 2-4 player table === */
.table-area--durak {
  background:
    radial-gradient(circle at 50% 40%, rgba(255,255,255,.12), transparent 25%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 2px, transparent 2px 9px),
    linear-gradient(145deg,#294f65,#183b50 50%,#587584);
}
.table-area--durak .felt-wall { opacity:.22; }
.durak-layer {
  position:absolute;
  inset:0;
  z-index:4;
  overflow:hidden;
  color:#fff;
  font-family:Arial, sans-serif;
  contain:layout paint;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.durak-felt {
  position:absolute;
  left:118px;
  top:105px;
  width:610px;
  height:390px;
  border:12px solid #b7c5c8;
  border-radius:48% / 44%;
  background:
    radial-gradient(ellipse at 48% 42%, rgba(95,255,125,.28), transparent 42%),
    repeating-radial-gradient(circle at 45% 45%, rgba(255,255,255,.035) 0 2px, transparent 2px 7px),
    linear-gradient(145deg,#0aa43a,#027326 62%,#004d19);
  box-shadow:
    0 22px 18px rgba(0,0,0,.42),
    inset 0 0 0 6px rgba(45,76,83,.55),
    inset -30px -32px 38px rgba(0,0,0,.24),
    inset 20px 18px 28px rgba(255,255,255,.08);
}
.durak-felt::before {
  content:"";
  position:absolute;
  inset:-19px;
  z-index:-1;
  border:7px solid #526f77;
  border-radius:49% / 45%;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.4), 0 7px 0 #263e45;
}
.durak-felt__shine {
  position:absolute;
  left:95px;
  top:48px;
  width:310px;
  height:110px;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(255,255,255,.12),transparent 68%);
  transform:rotate(-8deg);
}
.durak-brand {
  position:absolute;
  left:330px;
  top:282px;
  width:188px;
  text-align:center;
  color:rgba(255,255,255,.12);
  font-size:27px;
  font-weight:950;
  letter-spacing:-1px;
  text-shadow:0 1px rgba(255,255,255,.08);
  pointer-events:none;
}
.durak-brand small { display:block; font-size:10px; letter-spacing:4px; }
.durak-pot {
  position:absolute;
  top:86px;
  min-width:112px;
  padding:7px 13px;
  border:2px solid rgba(255,227,89,.78);
  border-radius:13px;
  background:linear-gradient(180deg,rgba(13,77,96,.96),rgba(4,35,50,.96));
  box-shadow:0 5px 8px rgba(0,0,0,.38), inset 0 0 9px rgba(255,224,72,.12);
  color:#ffe65a;
  font-size:12px;
  font-weight:950;
  text-align:center;
  text-shadow:0 2px 1px #000;
}
.durak-pot { left:142px; }
.durak-pot b { margin-left:5px; color:#fff; font-size:15px; }
.durak-status {
  position:absolute;
  left:271px;
  top:112px;
  width:304px;
  min-height:48px;
  padding:7px 15px;
  border:3px solid #f1d52d;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(17,100,124,.96),rgba(4,42,58,.97));
  box-shadow:0 7px 10px rgba(0,0,0,.4), inset 0 0 13px rgba(255,222,54,.13);
  text-align:center;
  z-index:14;
}
.durak-status b,
.durak-status span { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.durak-status b { color:#fff165; font-size:16px; }
.durak-status span { margin-top:2px; color:#e9faff; font-size:12px; }
.durak-battle {
  position:absolute;
  left:205px;
  top:188px;
  width:440px;
  height:200px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  z-index:10;
  pointer-events:none;
}
.durak-empty-table {
  color:rgba(255,255,255,.65);
  font-size:14px;
  font-weight:950;
  text-shadow:0 2px 2px #004514;
}
.durak-pair {
  position:relative;
  width:72px;
  height:120px;
  transform:rotate(var(--pair-angle, 0deg));
}
.durak-pair__attack,
.durak-pair__defense { position:absolute; left:0; top:0; }
.durak-pair__defense { left:14px; top:24px; transform:rotate(9deg); }
.durak-pair__target {
  position:absolute;
  left:18px;
  top:35px;
  width:56px;
  height:72px;
  display:grid;
  place-items:center;
  border:2px dashed rgba(255,246,131,.72);
  border-radius:9px;
  color:#fff389;
  font-size:11px;
  font-weight:950;
  background:rgba(0,70,25,.24);
}
.durak-table-card.poker-card {
  width:55px;
  height:78px;
  border-width:3px;
  border-radius:8px;
  box-shadow:0 6px 8px rgba(0,0,0,.42), inset 0 0 0 1px rgba(40,60,80,.12);
}
.durak-table-card .poker-card__corner { width:18px; }
.durak-table-card .poker-card__corner i:first-child { font-size:13px; }
.durak-table-card .poker-card__corner i:last-child { font-size:14px; }
.durak-table-card .poker-card__corner--tl { left:4px; top:5px; }
.durak-table-card .poker-card__corner--br { right:4px; bottom:5px; }
.durak-table-card .poker-card__suit { top:23px; font-size:33px; }
.durak-deck-zone {
  position:absolute;
  right:142px;
  top:242px;
  width:118px;
  height:142px;
  z-index:11;
}
.durak-trump-card { position:absolute; left:2px; top:27px; transform:rotate(87deg); transform-origin:center; }
.durak-deck-stack {
  position:absolute;
  left:39px;
  top:20px;
  width:64px;
  height:88px;
  transform:rotate(5deg);
}
.durak-deck-stack i {
  position:absolute;
  inset:0;
  border:4px solid #fff;
  border-radius:9px;
  background:
    radial-gradient(circle at 50% 48%, rgba(255,221,92,.6) 0 9%, transparent 10%),
    repeating-linear-gradient(45deg,rgba(255,255,255,.17) 0 3px,transparent 3px 8px),
    linear-gradient(135deg,#15bd46,#006f25 58%,#004516);
  box-shadow:0 5px 7px rgba(0,0,0,.4);
}
.durak-deck-stack i:nth-child(1) { transform:translate(-5px,4px); }
.durak-deck-stack i:nth-child(2) { transform:translate(-2px,2px); }
.durak-deck-stack b {
  position:absolute;
  right:-9px;
  bottom:-9px;
  z-index:3;
  min-width:27px;
  height:27px;
  padding:0 5px;
  border-radius:15px;
  background:#f2d329;
  color:#17374a;
  font:950 14px/27px Arial,sans-serif;
  text-align:center;
  box-shadow:0 3px 5px rgba(0,0,0,.4);
}
.durak-deck-zone > span {
  position:absolute;
  left:15px;
  right:0;
  bottom:0;
  color:#dff8ff;
  font-size:12px;
  font-weight:950;
  text-align:center;
  text-shadow:0 2px 2px #000;
}
.durak-deck-zone > span strong { color:#ffe55d; font-size:19px; }
.durak-deck-zone.is-empty .durak-deck-stack { opacity:.22; }
.durak-seat {
  position:absolute;
  width:145px;
  min-height:104px;
  z-index:18;
  text-align:center;
  filter:drop-shadow(0 6px 5px rgba(0,0,0,.38));
}
.durak-seat .durak-avatar {
  width:52px;
  height:52px;
  margin:0 auto -2px;
  border:3px solid #c8d8dd;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 32%,#ffd2a1 0 18%,transparent 19%),
    radial-gradient(circle at 50% 105%,#186b38 0 48%,transparent 49%),
    linear-gradient(#84c9e5,#416b7e);
  box-shadow:0 4px 5px rgba(0,0,0,.42), inset 0 0 0 2px rgba(255,255,255,.25);
}
.durak-seat > b,
.durak-seat > span,
.durak-seat > em {
  display:block;
  width:132px;
  min-height:21px;
  margin:1px auto;
  padding:2px 5px;
  border:2px solid #f0d528;
  border-radius:7px;
  background:linear-gradient(180deg,#185c78,#0b3349);
  color:#fff;
  font-size:12px;
  font-style:normal;
  font-weight:950;
  line-height:17px;
  text-shadow:0 2px 1px #000;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.durak-seat > span { border-color:#6fc4e0; color:#e7faff; }
.durak-seat > em { border-color:#ffce39; background:linear-gradient(#f19b1f,#a94f00); color:#fff6a5; }
.durak-seat.is-turn { animation:durakSeatPulse 1.05s ease-in-out infinite; }
.durak-seat.is-attacker > em { background:linear-gradient(#ffb42f,#b76500); }
.durak-seat.is-defender > em { background:linear-gradient(#35a7ef,#075a99); border-color:#8ce0ff; }
.durak-seat.is-finished > em { background:linear-gradient(#4fc77b,#087534); border-color:#7dffae; }
.durak-seat.is-loser > em { background:linear-gradient(#ff6767,#a60000); border-color:#ffc0c0; }
.durak-seat--empty { opacity:.55; }
.durak-seat--empty .durak-avatar { filter:grayscale(1); }
.durak-opponent-hand {
  position:absolute;
  left:50%;
  top:98px;
  width:76px;
  height:42px;
  transform:translateX(-50%);
}
.durak-opponent-hand i {
  position:absolute;
  left:20px;
  top:0;
  width:27px;
  height:38px;
  border:2px solid #fff;
  border-radius:5px;
  background:repeating-linear-gradient(45deg,rgba(255,255,255,.18) 0 2px,transparent 2px 5px),linear-gradient(135deg,#0bb83e,#005f20);
  box-shadow:0 3px 4px rgba(0,0,0,.35);
  transform:rotate(0deg);
  transform-origin:50% 110%;
}
.durak-turn-clock {
  position:absolute;
  left:7px;
  right:7px;
  bottom:-18px;
  height:14px;
  overflow:hidden;
  border:2px solid rgba(255,255,255,.72);
  border-radius:8px;
  background:#092638;
}
.durak-turn-clock i { position:absolute; left:0; top:0; bottom:0; background:linear-gradient(90deg,#ff5a43,#ffd53d,#45e56f); }
.durak-turn-clock strong { position:relative; z-index:2; display:block; color:#fff; font:950 10px/10px Arial,sans-serif; text-shadow:0 1px 1px #000; }
.durak-my-hand {
  position:absolute;
  left:154px;
  bottom:4px;
  width:536px;
  height:122px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  z-index:27;
  pointer-events:none;
}
.durak-hand-card {
  position:relative;
  width:70px;
  height:102px;
  margin-left:-10px;
  padding:0;
  border:0;
  background:transparent;
  pointer-events:auto;
  transform:translateY(17px) rotate(var(--hand-angle, 0deg));
  transform-origin:50% 130%;
  transition:transform .16s ease, filter .16s ease;
}
.durak-hand-card:first-child { margin-left:0; }
.durak-hand-card .durak-player-card { width:64px; height:92px; }
.durak-hand-card:disabled { cursor:default; }
.durak-hand-card.is-playable { filter:drop-shadow(0 0 8px rgba(255,238,75,.95)); }
.durak-hand-card.is-playable:hover {
  z-index:50;
  transform:translateY(-4px) rotate(0deg) scale(1.08);
}
.durak-hand-note {
  align-self:center;
  padding:10px 18px;
  border-radius:18px;
  background:rgba(3,36,51,.72);
  color:#dff8ff;
  font-size:13px;
  font-weight:950;
  text-shadow:0 2px 2px #000;
}
.durak-actions {
  position:absolute;
  left:252px;
  bottom:116px;
  width:342px;
  min-height:41px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  z-index:32;
}
.durak-actions > span {
  padding:8px 18px;
  border-radius:18px;
  background:rgba(3,38,54,.7);
  color:#e8fbff;
  font-size:13px;
  font-weight:950;
  text-align:center;
  text-shadow:0 2px 2px #000;
}
.durak-action {
  min-width:128px;
  height:38px;
  border:2px solid rgba(255,255,255,.72);
  border-radius:20px;
  color:#fff;
  font-size:16px;
  font-weight:950;
  text-shadow:0 2px 1px rgba(0,0,0,.6);
  box-shadow:0 5px 8px rgba(0,0,0,.4), inset 0 2px rgba(255,255,255,.28), inset 0 -4px rgba(0,0,0,.16);
}
.durak-action--take { background:linear-gradient(#ff7d6d,#df160d 58%,#920000); }
.durak-action--done { background:linear-gradient(#87e759,#24a832 58%,#087321); }
.durak-result {
  position:absolute;
  left:257px;
  top:244px;
  width:332px;
  min-height:74px;
  padding:13px 18px;
  border:4px solid #ffd944;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(17,91,113,.98),rgba(4,30,43,.98));
  box-shadow:0 0 25px rgba(255,211,43,.75),0 10px 16px rgba(0,0,0,.5);
  z-index:45;
  text-align:center;
  animation:durakResultPop .5s cubic-bezier(.2,.9,.2,1.15) both;
}
.durak-result b,.durak-result span { display:block; }
.durak-result b { color:#fff05e; font-size:23px; text-shadow:0 2px 2px #000; }
.durak-result span { margin-top:6px; color:#fff; font-size:13px; font-weight:950; }
@keyframes durakSeatPulse {
  0%,100% { filter:drop-shadow(0 0 5px rgba(255,224,58,.45)); }
  50% { filter:drop-shadow(0 0 14px rgba(255,232,66,.95)); }
}
@keyframes durakResultPop {
  from { opacity:0; transform:translateY(-15px) scale(.78); }
  to { opacity:1; transform:translateY(0) scale(1); }
}


/* === Durak table compact HUD + stable card hover === */
.app--durak-table .table-area {
  height: 700px;
}

.app--durak-table .room-panel {
  bottom: 8px;
}

.app--durak-table .chat-box {
  height: 318px;
}

/* Remove the large bottom navigation only inside the Durak table. */
.app--durak-table .bottom-bar {
  left: 14px;
  right: auto;
  bottom: 10px;
  width: 132px;
  height: 98px;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.app--durak-table .bottom-buttons,
.app--durak-table .small-cabinet,
.app--durak-table .rating {
  display: none !important;
}

/* Compact profile: avatar + balance only. The whole block remains clickable. */
.app--durak-table .profile-card,
.app--durak-table .profile-card.is-user,
.app--durak-table .profile-card.is-guest {
  left: 0;
  bottom: 0;
  width: 132px;
  height: 98px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.app--durak-table .profile-card .profile-avatar {
  display: block;
  left: 33px;
  top: 0;
  width: 66px;
  height: 64px;
  border-radius: 17px 17px 10px 10px;
  box-shadow: 0 6px 9px rgba(0,0,0,.48), inset 0 2px 3px rgba(255,255,255,.62);
}

.app--durak-table .profile-card strong,
.app--durak-table .profile-card .mod-bolt {
  display: none !important;
}

.app--durak-table .profile-card em,
.app--durak-table .profile-card.is-guest em {
  display: block;
  left: 0;
  right: 0;
  bottom: 0;
  height: 30px;
  border: 2px solid rgba(72,220,255,.78);
  border-radius: 9px;
  background: rgba(0,10,16,.92);
  color: #66ff28;
  font-size: 24px;
  line-height: 26px;
  text-align: center;
  text-shadow: 0 0 5px rgba(73,255,39,.24);
  box-shadow: 0 4px 8px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.10);
}

/* The button itself no longer jumps under the mouse. Only the visible card lifts. */
.app--durak-table .durak-hand-card {
  transform: translateY(12px) rotate(var(--hand-angle, 0deg));
  transition: filter .16s ease;
  will-change: filter;
}

.app--durak-table .durak-hand-card .durak-player-card {
  transition: transform .18s cubic-bezier(.2,.75,.25,1), box-shadow .18s ease;
  transform-origin: 50% 100%;
  will-change: transform;
}

.app--durak-table .durak-hand-card.is-playable:hover {
  z-index: 50;
  transform: translateY(12px) rotate(var(--hand-angle, 0deg));
}

.app--durak-table .durak-hand-card.is-playable:hover .durak-player-card {
  transform: translateY(-20px) scale(1.06);
  box-shadow: 0 14px 16px rgba(0,0,0,.48), 0 0 12px rgba(255,235,78,.58), inset 0 0 0 1px rgba(40,60,80,.12);
}

.app--durak-table .durak-my-hand {
  bottom: 8px;
  height: 130px;
}

.app--durak-table .durak-actions {
  bottom: 132px;
}


/* Durak: the game layer must not block the real exit button. */
.app--durak-table .exit-btn {
  z-index: 40;
  pointer-events: auto;
}

/* === Poker table v12: clean playable layout, compact HUD, clearer cards/chips === */
.app--poker-table .table-area {
  height: 700px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 48%, rgba(38, 162, 201, .18), transparent 34%),
    repeating-radial-gradient(circle at 23% 26%, rgba(255,255,255,.035) 0 1px, transparent 2px 10px),
    linear-gradient(145deg, #154f6b 0%, #0b3d58 42%, #062d45 100%);
  box-shadow: inset 0 0 34px rgba(0,0,0,.48), 0 8px 18px rgba(0,0,0,.3);
}

.app--poker-table .felt-wall {
  opacity: .36;
  background: repeating-radial-gradient(circle at 29% 29%, rgba(255,255,255,.045) 0 1px, transparent 2px 9px);
}

.app--poker-table .room-panel { bottom: 8px; }
.app--poker-table .chat-box { height: 318px; }
.app--poker-table .table-title {
  top: 8px;
  right: 0;
  color: #f1fbff;
  font-size: 22px;
  letter-spacing: .2px;
  text-shadow: 0 3px 3px rgba(0,0,0,.75), 0 0 8px rgba(63,207,255,.24);
}

/* Remove the large navigation strip only inside poker. */
.app--poker-table .bottom-bar {
  left: 14px;
  right: auto;
  bottom: 10px;
  width: 132px;
  height: 98px;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.app--poker-table .bottom-buttons,
.app--poker-table .small-cabinet,
.app--poker-table .rating { display: none !important; }
.app--poker-table .profile-card,
.app--poker-table .profile-card.is-user,
.app--poker-table .profile-card.is-guest {
  left: 0;
  bottom: 0;
  width: 132px;
  height: 98px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.app--poker-table .profile-card .profile-avatar {
  display: block;
  left: 33px;
  top: 0;
  width: 66px;
  height: 64px;
  border-radius: 17px 17px 10px 10px;
  box-shadow: 0 6px 9px rgba(0,0,0,.48), inset 0 2px 3px rgba(255,255,255,.62);
}
.app--poker-table .profile-card strong,
.app--poker-table .profile-card .mod-bolt { display: none !important; }
.app--poker-table .profile-card em,
.app--poker-table .profile-card.is-guest em {
  display: block;
  left: 0;
  right: 0;
  bottom: 0;
  height: 30px;
  border: 2px solid rgba(72,220,255,.78);
  border-radius: 9px;
  background: rgba(0,10,16,.92);
  color: #66ff28;
  font-size: 24px;
  line-height: 26px;
  text-align: center;
  text-shadow: 0 0 5px rgba(73,255,39,.24);
  box-shadow: 0 4px 8px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.10);
}

/* Main poker felt. */
.app--poker-table .green-table {
  left: 91px;
  top: 154px;
  width: 662px;
  height: 374px;
  border: 14px solid #b7c8cd;
  border-radius: 50%;
  transform: none;
  background:
    radial-gradient(ellipse at 50% 43%, rgba(42,235,122,.22), transparent 34%),
    repeating-radial-gradient(ellipse at 50% 50%, rgba(255,255,255,.025) 0 2px, transparent 3px 9px),
    radial-gradient(ellipse at 50% 50%, #159b4d 0%, #08763a 56%, #04572d 78%, #023e22 100%);
  box-shadow:
    0 22px 19px rgba(0,0,0,.43),
    0 0 0 5px #273c45,
    0 0 0 8px rgba(207,232,239,.75),
    inset 0 0 0 4px rgba(255,255,255,.08),
    inset 0 -34px 48px rgba(0,0,0,.27),
    inset 0 18px 28px rgba(255,255,255,.055);
}
.app--poker-table .green-table::before {
  content: "";
  position: absolute;
  inset: 13px;
  border: 2px solid rgba(210,255,228,.15);
  border-radius: 50%;
  pointer-events: none;
}
.app--poker-table .green-table::after {
  content: "CROWNMATCH";
  left: 0;
  right: 0;
  top: 155px;
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  color: rgba(216,255,231,.075);
  font: 950 48px/1 Arial, Helvetica, sans-serif;
  letter-spacing: 4px;
  text-align: center;
  pointer-events: none;
}
.app--poker-table .green-table > .pot-label,
.app--poker-table .green-table > .deck-3d,
.app--poker-table .green-table > .card { display: none !important; }

.app--poker-table .poker-layer { inset: 0; z-index: 20; }

/* Clear, high-contrast cards. */
.app--poker-table .poker-card {
  width: 68px;
  height: 96px;
  border: 3px solid #fdfefe;
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(241,247,251,.98) 58%, rgba(219,231,240,.98));
  color: #101820;
  box-shadow: 0 9px 12px rgba(0,0,0,.43), inset 0 0 0 1px rgba(24,51,68,.13);
}
.app--poker-table .poker-card::after {
  inset: 4px;
  border-radius: 7px;
  border-color: rgba(15,35,48,.12);
}
.app--poker-table .poker-card__corner { width: 24px; line-height: .86; }
.app--poker-table .poker-card__corner i:first-child { font-size: 18px; }
.app--poker-table .poker-card__corner i:last-child { font-size: 18px; }
.app--poker-table .poker-card__corner--tl { left: 5px; top: 5px; }
.app--poker-table .poker-card__corner--br { right: 5px; bottom: 5px; }
.app--poker-table .poker-card__suit { top: 28px; font-size: 41px; }
.app--poker-table .poker-card.is-red { color: #d1162c; }

.app--poker-table .poker-card--back {
  background:
    radial-gradient(circle at 50% 49%, #f1cc64 0 8%, #98742a 9% 12%, transparent 13%),
    repeating-linear-gradient(45deg, rgba(255,255,255,.13) 0 2px, transparent 2px 7px),
    repeating-linear-gradient(-45deg, rgba(76,221,255,.12) 0 2px, transparent 2px 7px),
    linear-gradient(145deg, #0b6e9f, #073d6d 55%, #031f42);
}
.app--poker-table .poker-card--back::before {
  inset: 7px;
  border: 2px solid rgba(224,248,255,.82);
  box-shadow: inset 0 0 0 2px rgba(1,35,68,.55), 0 0 9px rgba(70,211,255,.16);
}
.app--poker-table .poker-card--back i {
  width: 24px;
  height: 24px;
  background: radial-gradient(circle at 36% 34%, #fff5ae, #d09a3e 68%, #77501a);
  box-shadow: 0 0 0 3px rgba(1,45,78,.55), 0 2px 4px rgba(0,0,0,.38);
}

.app--poker-table .poker-card--mini {
  width: 42px;
  height: 60px;
  border-width: 3px;
  border-radius: 8px;
  box-shadow: 0 6px 8px rgba(0,0,0,.4), inset 0 0 0 1px rgba(40,60,80,.12);
}
.app--poker-table .poker-card--mini .poker-card__corner { width: 16px; }
.app--poker-table .poker-card--mini .poker-card__corner i:first-child { font-size: 11px; }
.app--poker-table .poker-card--mini .poker-card__corner i:last-child { font-size: 12px; }
.app--poker-table .poker-card--mini .poker-card__corner--tl { left: 3px; top: 3px; }
.app--poker-table .poker-card--mini .poker-card__corner--br { right: 3px; bottom: 3px; }
.app--poker-table .poker-card--mini .poker-card__suit { top: 18px; font-size: 26px; }

.app--poker-table .poker-card--hole-me {
  width: 60px;
  height: 84px;
  border-width: 3px;
  border-radius: 10px;
  box-shadow: 0 10px 12px rgba(0,0,0,.48), 0 0 13px rgba(255,229,61,.24), inset 0 0 0 1px rgba(40,60,80,.12);
}
.app--poker-table .poker-card--hole-me .poker-card__corner { width: 20px; }
.app--poker-table .poker-card--hole-me .poker-card__corner i:first-child { font-size: 15px; }
.app--poker-table .poker-card--hole-me .poker-card__corner i:last-child { font-size: 15px; }
.app--poker-table .poker-card--hole-me .poker-card__suit { top: 24px; font-size: 34px; }

.app--poker-table .poker-board {
  left: 207px;
  top: 298px;
  width: 430px;
  height: 100px;
  gap: 10px;
  transform: none;
}
.app--poker-table .board-empty {
  max-width: 330px;
  padding: 9px 16px;
  border: 1px solid rgba(190,255,218,.2);
  border-radius: 18px;
  background: rgba(1,53,30,.3);
  color: rgba(235,255,243,.75);
  font-size: 13px;
}

.app--poker-table .poker-deck-stack {
  left: 690px;
  top: 322px;
  width: 74px;
  height: 96px;
  transform: rotate(8deg);
  filter: drop-shadow(0 10px 9px rgba(0,0,0,.46));
}
.app--poker-table .poker-deck-stack i {
  width: 58px;
  height: 82px;
  border: 3px solid #fff;
  border-radius: 9px;
  background:
    radial-gradient(circle at 50% 49%, #f1cc64 0 8%, #98742a 9% 12%, transparent 13%),
    repeating-linear-gradient(45deg, rgba(255,255,255,.13) 0 2px, transparent 2px 7px),
    linear-gradient(145deg, #0b6e9f, #073d6d 55%, #031f42);
}

/* Seats are kept around the rim, not on top of the board. */
.app--poker-table .poker-seat,
.app--poker-table .poker-seat:not(.is-me),
.app--poker-table .poker-seat.is-me {
  width: 116px;
  min-height: 102px;
  transform: none;
  transform-origin: center center;
}
.app--poker-table .poker-avatar {
  width: 50px;
  height: 52px;
  border: 2px solid #d9f1f6;
  border-radius: 12px 12px 5px 5px;
  background: linear-gradient(#f5bb72 0 48%, #177447 49%);
  box-shadow: 0 5px 8px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.35);
}
.app--poker-table .poker-avatar::before { left: 15px; top: 7px; width: 17px; height: 17px; }
.app--poker-table .poker-seat.is-me .poker-avatar {
  border-color: #ffe95d;
  box-shadow: 0 0 15px rgba(255,229,64,.72), 0 5px 8px rgba(0,0,0,.36);
}
.app--poker-table .poker-seat > b,
.app--poker-table .poker-seat > span,
.app--poker-table .poker-seat > em {
  width: 106px;
  min-height: 19px;
  line-height: 16px;
  margin: 1px auto;
  padding: 1px 5px;
  border-width: 2px;
  border-radius: 7px;
  font-size: 12px;
  background: linear-gradient(180deg, rgba(25,92,121,.98), rgba(8,47,69,.98));
}
.app--poker-table .poker-seat > span {
  min-height: 17px;
  line-height: 14px;
  color: #ecfbff;
  font-size: 11px;
  border-color: #65cae9;
}
.app--poker-table .poker-seat > em {
  min-height: 16px;
  line-height: 13px;
  color: #a4ffd0;
  font-size: 10px;
  border-color: #4bd99b;
}
.app--poker-table .poker-seat--empty { opacity: .48; filter: none; }
.app--poker-table .poker-seat--empty .poker-avatar {
  width: 42px;
  height: 44px;
  background: linear-gradient(#ecf5fa, #849aa5);
  filter: grayscale(.65);
}
.app--poker-table .poker-seat--empty > b,
.app--poker-table .poker-seat--empty > span { border-color: rgba(174,225,238,.68); }

.app--poker-table .hole-cards {
  height: 64px;
  gap: 4px;
  margin-top: 2px;
  pointer-events: none;
}
.app--poker-table .poker-seat:not(.is-me) .hole-cards { height: 60px; gap: 4px; }
.app--poker-table .poker-seat.is-me .hole-cards {
  position: absolute;
  left: 50%;
  top: -88px;
  width: 150px;
  height: 88px;
  margin: 0;
  transform: translateX(-50%);
  align-items: flex-end;
  gap: 7px;
  z-index: 4;
}

.app--poker-table .turn-clock {
  width: 102px;
  height: 16px;
  margin-top: 2px;
  border-color: rgba(255,230,65,.92);
}

/* Status and action dock are separate from cards and seats. */
.app--poker-table .poker-status {
  left: 270px;
  top: 208px;
  width: 304px;
  min-height: 52px;
  padding: 7px 12px;
  border: 1px solid rgba(114,222,255,.38);
  border-radius: 17px;
  background: rgba(2,43,57,.62);
  box-shadow: 0 5px 10px rgba(0,0,0,.2), inset 0 0 13px rgba(0,0,0,.2);
  z-index: 24;
}
.app--poker-table .poker-status b { font-size: 16px; color: #ffe96b; }
.app--poker-table .poker-status span { margin-top: 2px; font-size: 12px; }

.app--poker-table .poker-actions,
.app--poker-table .poker-actions--betting,
.app--poker-table .poker-actions--start {
  left: 150px;
  right: 16px;
  top: auto;
  bottom: 8px;
  width: auto;
  min-height: 48px;
  padding: 6px 9px;
  gap: 8px;
  flex-wrap: nowrap;
  border: 1px solid rgba(88,201,235,.25);
  border-radius: 22px;
  background: rgba(2,31,46,.62);
  box-shadow: 0 6px 12px rgba(0,0,0,.28), inset 0 0 13px rgba(32,151,190,.08);
  z-index: 38;
}
.app--poker-table .poker-actions--betting { min-height: 60px; }
.app--poker-table .poker-actions button {
  min-width: 88px;
  height: 34px;
  padding: 0 9px;
  border: 1px solid rgba(222,250,255,.8);
  border-radius: 18px;
  color: #123246;
  font-size: 13px;
  background: linear-gradient(#f4fdff, #bcecff 48%, #62b7dc);
  box-shadow: inset 0 2px rgba(255,255,255,.78), inset 0 -3px rgba(15,88,125,.18), 0 4px 7px rgba(0,0,0,.34);
}
.app--poker-table .poker-actions button[data-action="pokerFold"] {
  color: #fff;
  border-color: rgba(255,214,214,.8);
  background: linear-gradient(#f17b72, #bd2927 58%, #7b1214);
  text-shadow: 0 2px 1px rgba(60,0,0,.65);
}
.app--poker-table .poker-actions button[data-action="pokerAllIn"] {
  color: #fff8ae;
  border-color: rgba(255,223,112,.9);
  background: linear-gradient(#ff874e, #e1220c 56%, #8c0700);
}
.app--poker-table .poker-actions > span {
  width: 100%;
  max-width: none;
  min-width: 0;
  padding: 8px 14px;
  border-radius: 18px;
  background: rgba(5,52,70,.45);
  text-align: center;
}

.app--poker-table .bet-panel {
  width: 204px;
  min-height: 48px;
  padding: 5px 7px;
  grid-template-columns: 54px 1fr 54px;
  grid-template-rows: 20px 20px;
  column-gap: 5px;
  border: 1px solid rgba(255,221,71,.82);
  border-radius: 15px;
  background: linear-gradient(180deg, rgba(11,91,121,.96), rgba(3,38,57,.98));
}
.app--poker-table .bet-panel__top { font-size: 10px; }
.app--poker-table .bet-panel output { min-width: 47px; padding: 1px 3px; font-size: 11px; }
.app--poker-table .bet-panel__row { grid-template-columns: 18px 1fr 20px; gap: 3px; font-size: 8px; }
.app--poker-table .bet-slider { height: 18px; }
.app--poker-table .bet-amount { width: 52px; height: 26px; font-size: 12px; }

/* Chips: stronger edge, denomination badge and compact value plate. */
.app--poker-table .table-bet-chip { width: 62px; height: 42px; z-index: 14; }
.app--poker-table .pot-chip-bank {
  left: 384px;
  top: 409px;
  width: 76px;
  height: 58px;
  z-index: 14;
  filter: drop-shadow(0 8px 6px rgba(0,0,0,.43));
}
.app--poker-table .chip-stack { width: 62px; height: 42px; }
.app--poker-table .chip-stack--pot { transform: scale(1.06); }
.app--poker-table .chip-stack--bet { transform: scale(.88); }
.app--poker-table .poker-chip {
  width: 38px;
  height: 14px;
  margin-left: -19px;
  bottom: calc(var(--i) * 4px);
  border: 2px solid rgba(255,255,255,.96);
  border-radius: 50%;
  box-shadow: 0 3px 4px rgba(0,0,0,.4), inset 0 -3px 0 rgba(73,0,8,.23), inset 0 2px 0 rgba(255,255,255,.44);
  background:
    radial-gradient(ellipse at 50% 47%, rgba(255,255,255,.96) 0 10%, transparent 11% 29%, rgba(255,255,255,.8) 30% 36%, transparent 37%),
    repeating-linear-gradient(90deg, #fff 0 4px, transparent 4px 9px),
    linear-gradient(180deg,#ef3345,#a40718);
}
.app--poker-table .poker-chip--2 {
  background:
    radial-gradient(ellipse at 50% 47%, rgba(255,255,255,.96) 0 10%, transparent 11% 29%, rgba(255,255,255,.8) 30% 36%, transparent 37%),
    repeating-linear-gradient(90deg, #fff 0 4px, transparent 4px 9px),
    linear-gradient(180deg,#4eb6ff,#07589f);
}
.app--poker-table .poker-chip--3 {
  background:
    radial-gradient(ellipse at 50% 47%, rgba(255,255,255,.96) 0 10%, transparent 11% 29%, rgba(255,255,255,.8) 30% 36%, transparent 37%),
    repeating-linear-gradient(90deg, #fff 0 4px, transparent 4px 9px),
    linear-gradient(180deg,#ffd35a,#d57400);
}
.app--poker-table .poker-chip--4 {
  background:
    radial-gradient(ellipse at 50% 47%, rgba(255,255,255,.96) 0 10%, transparent 11% 29%, rgba(255,255,255,.72) 30% 36%, transparent 37%),
    repeating-linear-gradient(90deg, #202b31 0 4px, transparent 4px 9px),
    linear-gradient(180deg,#fafafa,#98a9b2);
}
.app--poker-table .poker-chip b {
  display: block;
  width: 13px;
  height: 5px;
  border-radius: 50%;
  background: rgba(255,255,255,.86);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.14);
}
.app--poker-table .chip-stack span {
  bottom: -13px;
  min-width: 50px;
  padding: 1px 5px 2px;
  border: 1px solid rgba(183,241,255,.72);
  border-radius: 8px;
  color: #fff9a9;
  font-size: 10px;
  line-height: 12px;
  background: rgba(2,25,35,.9);
  box-shadow: 0 2px 5px rgba(0,0,0,.38), inset 0 0 6px rgba(25,184,224,.16);
}
.app--poker-table .pot-chip-bank strong {
  bottom: -18px;
  color: #fff4a0;
  font-size: 11px;
}

.app--poker-table .dealer-puck {
  width: 27px;
  height: 27px;
  border-width: 3px;
  font-size: 15px;
  z-index: 32;
}
.app--poker-table .winner-toast {
  left: 252px;
  top: 185px;
  width: 340px;
  min-height: 56px;
  z-index: 42;
}

/* Keep table controls clickable above the game layer. */
.app--poker-table .sit-btn,
.app--poker-table .exit-btn {
  z-index: 45;
  pointer-events: auto;
  bottom: auto;
  top: 52px;
  height: 29px;
}
.app--poker-table .sit-btn { right: 148px; }
.app--poker-table .exit-btn { right: 18px; }

/* Poker v12.1: orient opponent cards around the rim and clear the table centre. */
.app--poker-table .room-list { overflow-y: auto; }
.app--poker-table .poker-deck-stack {
  left: 520px;
  top: 410px;
}
.app--poker-table .pot-chip-bank {
  left: 384px;
  top: 266px;
}
.app--poker-table .poker-seat.is-me .turn-clock { display: none; }

.app--poker-table .poker-seat--top .hole-cards,
.app--poker-table .poker-seat--right .hole-cards,
.app--poker-table .poker-seat--left .hole-cards,
.app--poker-table .poker-seat--bottom .hole-cards {
  position: absolute;
  width: 92px;
  height: 62px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  z-index: 4;
}
.app--poker-table .poker-seat--top .hole-cards {
  left: 108px;
  top: 14px;
}
.app--poker-table .poker-seat--right .hole-cards {
  left: -86px;
  top: 14px;
}
.app--poker-table .poker-seat--left .hole-cards {
  right: -86px;
  top: 14px;
}
.app--poker-table .poker-seat--bottom .hole-cards {
  left: 50%;
  top: -88px;
  width: 150px;
  height: 88px;
  transform: translateX(-50%);
  align-items: flex-end;
  gap: 7px;
}

/* Poker v12.2: final spacing pass. */
.app--poker-table .room-list {
  height: 260px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(46,190,229,.75) rgba(1,35,52,.5);
}
.app--poker-table .room-list li { margin: 5px 0; }
.app--poker-table .chat-box { height: 293px; }
.app--poker-table .poker-deck-stack { left: 502px; }
.app--poker-table .pot-chip-bank {
  left: 384px;
  top: 258px;
  height: 38px;
}
.app--poker-table .pot-chip-bank .chip-stack--pot {
  transform: scale(.76);
  transform-origin: 50% 0;
}
.app--poker-table .pot-chip-bank strong {
  left: 53px;
  right: auto;
  top: 9px;
  bottom: auto;
  width: 42px;
  font-size: 9px;
  text-align: left;
}

/* Keep the pot clear of community cards. */
.app--poker-table .pot-chip-bank {
  left: 640px;
  top: 270px;
}

/* Final pot position: above the board, away from player panels. */
.app--poker-table .pot-chip-bank {
  left: 580px;
  top: 266px;
}

/* Poker v12.3: clean table centre and move deck/pot to fixed clear zones. */
.app--poker-table .poker-status,
.app--poker-table .winner-toast,
.app--poker-table .board-empty {
  display: none !important;
}

/* Community cards sit a little higher, leaving a dedicated pot zone below. */
.app--poker-table .poker-board {
  left: 207px;
  top: 272px;
  width: 430px;
  height: 100px;
}

/* Deck is parked beside the Exit button, outside the playing surface. */
.app--poker-table .poker-deck-stack {
  left: 623px;
  top: 48px;
  width: 74px;
  height: 96px;
  transform: rotate(4deg) scale(.9);
  transform-origin: 50% 50%;
  z-index: 30;
}

/* Pot is centered directly below the community cards. */
.app--poker-table .pot-chip-bank {
  left: 384px;
  top: 382px;
  width: 76px;
  height: 62px;
  z-index: 18;
  filter: drop-shadow(0 8px 7px rgba(0,0,0,.46));
}
.app--poker-table .pot-chip-bank .chip-stack--pot {
  transform: scale(1.02);
  transform-origin: 50% 0;
}
.app--poker-table .pot-chip-bank strong {
  left: 0;
  right: 0;
  top: -13px;
  bottom: auto;
  width: auto;
  color: #fff2a1;
  font-size: 11px;
  letter-spacing: .6px;
  text-align: center;
  text-shadow: 0 2px 2px #000, 0 0 8px rgba(255,225,72,.68);
}

/* No passive bottom banner: controls exist only during the local player's turn. */
.app--poker-table .poker-actions:empty {
  display: none !important;
}

/* Poker v12.4: slower persistent dealing, visible local timer, clear pot and all-in chips. */
.app--poker-table .poker-board {
  top: 250px;
}

/* The pot has its own strip between the community cards and the local hand. */
.app--poker-table .pot-chip-bank {
  left: 384px;
  top: 354px;
  width: 76px;
  height: 48px;
  z-index: 26;
}
.app--poker-table .pot-chip-bank .chip-stack--pot {
  transform: scale(.94);
  transform-origin: 50% 0;
}
.app--poker-table .pot-chip-bank strong {
  left: 0;
  right: 0;
  top: -12px;
  bottom: auto;
  width: auto;
  text-align: center;
}

/* Never hide the acting player's clock. Keep it beside the local panel. */
.app--poker-table .poker-seat.is-me .turn-clock {
  display: block;
  position: absolute;
  left: 112px;
  top: 55px;
  width: 92px;
  height: 17px;
  margin: 0;
  z-index: 35;
}

/* Local bet/all-in marker sits to the right of the hole cards, not underneath them. */
.app--poker-table .table-bet-chip--bottom {
  z-index: 30;
}

/* A slightly calmer flight makes each deal readable without feeling slow. */
.app--poker-table .poker-card--dealt {
  animation-timing-function: cubic-bezier(.16,.72,.2,1);
}
@keyframes dealFromDeck {
  0% {
    opacity: .08;
    transform: translate(var(--deal-from-x,205px), var(--deal-from-y,58px)) rotate(var(--deal-rot,24deg)) scale(.46);
    filter: brightness(1.35) blur(.35px);
  }
  64% { opacity: 1; filter: brightness(1.12) blur(0); }
  88% { transform: translate(-3px, -4px) rotate(-3deg) scale(1.025); }
  100% { opacity: 1; transform: translate(0, 0) rotate(0deg) scale(1); filter: brightness(1); }
}

/* Poker v12.5: casino chip stacks, a clean pot and a precision raise slider. */
.app--poker-table .pot-chip-bank {
  left: 371px;
  top: 341px;
  width: 102px;
  height: 56px;
  z-index: 27;
  display: block;
  filter: drop-shadow(0 8px 6px rgba(0,0,0,.44));
  overflow: visible;
}
.app--poker-table .pot-chip-bank strong { display: none !important; }
.app--poker-table .table-bet-chip {
  width: 86px;
  height: 52px;
  overflow: visible;
}

.app--poker-table .chip-stack--casino {
  position: relative;
  width: 100px;
  height: 54px;
  overflow: visible;
  transform: translateZ(0);
}
.app--poker-table .chip-stack--casino .chip-towers {
  position: absolute;
  left: 50%;
  top: 0;
  height: 37px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  transform: translateX(-50%);
  filter: drop-shadow(0 3px 2px rgba(0,0,0,.34));
}
.app--poker-table .chip-stack--casino .chip-tower {
  --chip-main: #2394df;
  --chip-dark: #07518f;
  --chip-accent: #f5fbff;
  --chip-center: #126ab0;
  position: relative;
  display: block;
  flex: 0 0 35px;
  width: 35px;
  height: 36px;
  margin: 0;
  overflow: visible;
  font-style: normal;
  transform-origin: 50% 100%;
}
.app--poker-table .chip-stack--casino .chip-tower + .chip-tower { margin-left: -8px; }
.app--poker-table .chip-stack--casino .chip-tower:nth-child(1) { transform: rotate(-2.6deg); }
.app--poker-table .chip-stack--casino .chip-tower:nth-child(2) { transform: rotate(1.4deg); }
.app--poker-table .chip-stack--casino .chip-tower:nth-child(3) { transform: rotate(-1deg); }
.app--poker-table .chip-stack--casino .chip-tower:nth-child(4) { transform: rotate(2.3deg); }

.app--poker-table .chip-stack--casino .poker-chip {
  position: absolute;
  left: 50%;
  bottom: calc(var(--i) * 3.8px);
  width: 35px;
  height: 13px;
  margin-left: -17.5px;
  border: 1.5px solid rgba(255,255,255,.96);
  border-radius: 50%;
  display: block;
  overflow: hidden;
  box-sizing: border-box;
  background:
    linear-gradient(180deg, rgba(255,255,255,.76) 0 14%, rgba(255,255,255,.12) 28%, transparent 43%),
    repeating-linear-gradient(90deg, var(--chip-accent) 0 4px, transparent 4px 8px),
    linear-gradient(180deg, var(--chip-main) 0 48%, var(--chip-dark) 50% 100%);
  box-shadow:
    0 3px 2px rgba(0,0,0,.36),
    inset 0 -3px 0 rgba(0,0,0,.2),
    inset 0 2px 0 rgba(255,255,255,.34),
    0 0 0 .5px rgba(0,0,0,.35);
}
.app--poker-table .chip-stack--casino .poker-chip::before {
  content: "";
  position: absolute;
  left: 4px;
  right: 4px;
  top: 2px;
  height: 6px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.86);
  background:
    radial-gradient(ellipse at 50% 38%, rgba(255,255,255,.72) 0 13%, transparent 15%),
    var(--chip-center);
  box-shadow: inset 0 1px 2px rgba(0,0,0,.25), 0 1px 0 rgba(255,255,255,.25);
}
.app--poker-table .chip-stack--casino .poker-chip::after {
  content: "";
  position: absolute;
  left: 2px;
  right: 2px;
  bottom: 1px;
  height: 2px;
  border-radius: 50%;
  background: rgba(0,0,0,.22);
}
.app--poker-table .chip-stack--casino .poker-chip b { display: none !important; }

.app--poker-table .chip-stack--casino .chip-tower--black {
  --chip-main:#303947; --chip-dark:#080b10; --chip-accent:#f7f8fa; --chip-center:#171d26;
}
.app--poker-table .chip-stack--casino .chip-tower--green {
  --chip-main:#19a364; --chip-dark:#075932; --chip-accent:#f6fff9; --chip-center:#0b7545;
}
.app--poker-table .chip-stack--casino .chip-tower--red {
  --chip-main:#ef4051; --chip-dark:#971020; --chip-accent:#fff8f4; --chip-center:#be1c2d;
}
.app--poker-table .chip-stack--casino .chip-tower--blue {
  --chip-main:#31a2ed; --chip-dark:#07518f; --chip-accent:#f5fbff; --chip-center:#1475bd;
}
.app--poker-table .chip-stack--casino .chip-tower--gold {
  --chip-main:#ffd04a; --chip-dark:#b56f00; --chip-accent:#fffdf0; --chip-center:#e39709;
}
.app--poker-table .chip-stack--casino .chip-tower--white {
  --chip-main:#f6f8f9; --chip-dark:#9bb0bb; --chip-accent:#176ba5; --chip-center:#edf4f7;
}
.app--poker-table .chip-stack--casino .chip-tower--purple {
  --chip-main:#ae63e5; --chip-dark:#61278d; --chip-accent:#fff7ff; --chip-center:#8241b3;
}

.app--poker-table .chip-stack--casino > span {
  position: absolute;
  left: 50%;
  top: 35px;
  bottom: auto;
  min-width: 50px;
  padding: 1px 7px 2px;
  transform: translateX(-50%);
  border: 1px solid rgba(213,248,255,.82);
  border-radius: 9px;
  color: #fff9b8;
  font-size: 10px;
  line-height: 12px;
  font-weight: 950;
  text-align: center;
  text-shadow: 0 1px 2px #000;
  background: linear-gradient(180deg, rgba(9,58,75,.97), rgba(1,24,34,.98));
  box-shadow: 0 3px 5px rgba(0,0,0,.38), inset 0 0 6px rgba(61,211,255,.22);
  white-space: nowrap;
}
.app--poker-table .chip-stack--pot {
  transform: scale(1.05);
  transform-origin: 50% 0;
}
.app--poker-table .chip-stack--bet {
  transform: scale(.76);
  transform-origin: 50% 0;
}

/* The visual slider uses a cubic amount mapping in JS, so its first half is
   intentionally much more precise than a normal linear range control. */
.app--poker-table .bet-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 18px;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  cursor: pointer;
}
.app--poker-table .bet-slider::-webkit-slider-runnable-track {
  height: 6px;
  border: 1px solid rgba(188,241,255,.76);
  border-radius: 999px;
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.20) 0 1px, transparent 1px 9px),
    linear-gradient(90deg, #42d9ff, #ffdc39 72%, #ff7637);
  box-shadow: inset 0 1px 2px rgba(0,0,0,.52), 0 1px 0 rgba(255,255,255,.18);
}
.app--poker-table .bet-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 17px;
  height: 17px;
  margin-top: -6px;
  border: 2px solid #fff5a9;
  border-radius: 50%;
  background: radial-gradient(circle at 38% 31%, #fff9b3 0 15%, #ffc92f 18% 56%, #d77b00 61% 100%);
  box-shadow: 0 2px 4px rgba(0,0,0,.52), 0 0 6px rgba(255,210,48,.48);
}
.app--poker-table .bet-slider::-moz-range-track {
  height: 6px;
  border: 1px solid rgba(188,241,255,.76);
  border-radius: 999px;
  background: linear-gradient(90deg, #42d9ff, #ffdc39 72%, #ff7637);
}
.app--poker-table .bet-slider::-moz-range-thumb {
  width: 17px;
  height: 17px;
  border: 2px solid #fff5a9;
  border-radius: 50%;
  background: #ffc92f;
  box-shadow: 0 2px 4px rgba(0,0,0,.52);
}

/* Poker v12.5.1: larger top faces and denomination marks, closer to real chips. */
.app--poker-table .pot-chip-bank {
  left: 352px;
  top: 338px;
  width: 140px;
  height: 64px;
}
.app--poker-table .chip-stack--casino {
  width: 136px;
  height: 62px;
}
.app--poker-table .chip-stack--casino .chip-towers {
  height: 46px;
}
.app--poker-table .chip-stack--casino .chip-tower {
  flex-basis: 43px;
  width: 43px;
  height: 45px;
}
.app--poker-table .chip-stack--casino .chip-tower + .chip-tower { margin-left: -14px; }
.app--poker-table .chip-stack--casino .poker-chip {
  bottom: calc(var(--i) * 4.1px);
  width: 43px;
  height: 16px;
  margin-left: -21.5px;
  border-width: 1.7px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.82) 0 12%, rgba(255,255,255,.14) 29%, transparent 44%),
    repeating-linear-gradient(90deg, var(--chip-accent) 0 5px, transparent 5px 10px),
    linear-gradient(180deg, var(--chip-main) 0 47%, var(--chip-dark) 49% 100%);
  box-shadow:
    0 3px 3px rgba(0,0,0,.4),
    inset 0 -4px 0 rgba(0,0,0,.22),
    inset 0 2px 0 rgba(255,255,255,.38),
    0 0 0 .5px rgba(0,0,0,.38);
}
.app--poker-table .chip-stack--casino .poker-chip::before {
  left: 5px;
  right: 5px;
  top: 2px;
  height: 8px;
}
.app--poker-table .chip-stack--casino .poker-chip b,
.app--poker-table .chip-stack--casino .poker-chip:last-child b {
  position: absolute;
  left: 50%;
  top: 3px;
  z-index: 3;
  display: none !important;
  min-width: 13px;
  height: 7px;
  padding: 0 2px;
  transform: translateX(-50%);
  place-items: center;
  border-radius: 50%;
  color: rgba(5,28,40,.9);
  font-size: 5.5px;
  line-height: 7px;
  font-weight: 1000;
  letter-spacing: -.25px;
  text-shadow: 0 1px 0 rgba(255,255,255,.75);
  background: rgba(255,255,255,.72);
}
.app--poker-table .chip-stack--casino .poker-chip:last-child b { display: grid !important; }
.app--poker-table .chip-stack--casino > span {
  top: 44px;
  min-width: 57px;
  font-size: 10.5px;
  line-height: 13px;
}
.app--poker-table .chip-stack--pot { transform: scale(1.02); }
.app--poker-table .chip-stack--bet { transform: scale(.64); }

/* Poker v12.6: tidy seat wagers and a collected pot that appears at the flop. */
.app--poker-table .table-bet-chip {
  width: 78px;
  height: 48px;
  z-index: 30;
  pointer-events: none;
  filter: drop-shadow(0 5px 4px rgba(0,0,0,.34));
}
.app--poker-table .table-bet-chip .chip-stack--casino {
  width: 78px;
  height: 48px;
}
.app--poker-table .table-bet-chip .chip-stack--bet {
  transform: scale(.86);
  transform-origin: 50% 0;
}
.app--poker-table .table-bet-chip .chip-stack--casino .chip-towers {
  top: 0;
  height: 35px;
}
.app--poker-table .table-bet-chip .chip-stack--casino .chip-tower {
  flex-basis: 39px;
  width: 39px;
  height: 37px;
  transform: none !important;
  margin: 0 !important;
}
.app--poker-table .table-bet-chip .chip-stack--casino .poker-chip {
  width: 39px;
  height: 14px;
  margin-left: -19.5px;
  bottom: calc(var(--i) * 3.7px);
}
.app--poker-table .table-bet-chip .chip-stack--casino .poker-chip::before {
  left: 5px;
  right: 5px;
  top: 2px;
  height: 7px;
}
.app--poker-table .table-bet-chip .chip-stack--casino > span {
  top: 34px;
  min-width: 48px;
  padding: 0 6px 1px;
  font-size: 10px;
  line-height: 12px;
  border-color: rgba(226,249,255,.9);
  background: linear-gradient(180deg, rgba(6,67,86,.98), rgba(0,25,36,.99));
}
.app--poker-table .table-bet-chip--bottom .chip-stack--casino > span,
.app--poker-table .table-bet-chip--top .chip-stack--casino > span {
  color: #fffbd0;
}

.app--poker-table .pot-chip-bank {
  left: 350px;
  top: 348px;
  width: 144px;
  height: 66px;
  z-index: 27;
  transform-origin: 50% 65%;
  pointer-events: none;
}
.app--poker-table .pot-chip-bank--enter {
  animation: pokerPotGather .82s cubic-bezier(.16,.78,.2,1) var(--pot-enter-delay, 0s) both;
}
.app--poker-table .pot-chip-bank--enter .chip-tower {
  --pot-enter-x: 0px;
  --pot-enter-rot: 0deg;
  --pot-final-rot: 0deg;
  animation: pokerPotTowerGather .72s cubic-bezier(.18,.76,.18,1) calc(var(--pot-enter-delay, 0s) + 70ms) both;
}
.app--poker-table .pot-chip-bank--enter .chip-tower:nth-child(1) { --pot-enter-x: -54px; --pot-enter-rot: -18deg; --pot-final-rot: -2.6deg; animation-delay: calc(var(--pot-enter-delay, 0s) + 70ms); }
.app--poker-table .pot-chip-bank--enter .chip-tower:nth-child(2) { --pot-enter-x: -20px; --pot-enter-rot: -8deg; --pot-final-rot: 1.4deg; animation-delay: calc(var(--pot-enter-delay, 0s) + 150ms); }
.app--poker-table .pot-chip-bank--enter .chip-tower:nth-child(3) { --pot-enter-x: 22px; --pot-enter-rot: 9deg; --pot-final-rot: -1deg; animation-delay: calc(var(--pot-enter-delay, 0s) + 230ms); }
.app--poker-table .pot-chip-bank--enter .chip-tower:nth-child(4) { --pot-enter-x: 56px; --pot-enter-rot: 18deg; --pot-final-rot: 2.3deg; animation-delay: calc(var(--pot-enter-delay, 0s) + 310ms); }
.app--poker-table .pot-chip-bank--enter .chip-stack--casino > span {
  animation: pokerPotAmountIn .38s ease-out calc(var(--pot-enter-delay, 0s) + .54s) both;
}
@keyframes pokerPotGather {
  0% { opacity: 0; transform: translateY(34px) scale(.54); filter: blur(1.2px) drop-shadow(0 2px 2px rgba(0,0,0,.2)); }
  58% { opacity: 1; transform: translateY(-5px) scale(1.08); filter: blur(0) drop-shadow(0 10px 7px rgba(0,0,0,.42)); }
  78% { transform: translateY(2px) scale(.98); }
  100% { opacity: 1; transform: translateY(0) scale(1); filter: drop-shadow(0 8px 6px rgba(0,0,0,.44)); }
}
@keyframes pokerPotTowerGather {
  0% { opacity: 0; transform: translate(var(--pot-enter-x), 28px) rotate(var(--pot-enter-rot)) scale(.55); }
  72% { opacity: 1; transform: translate(0,-3px) rotate(var(--pot-final-rot)) scale(1.06); }
  100% { opacity: 1; transform: translate(0,0) rotate(var(--pot-final-rot)) scale(1); }
}
@keyframes pokerPotAmountIn {
  from { opacity: 0; transform: translate(-50%,8px) scale(.82); }
  to { opacity: 1; transform: translate(-50%,0) scale(1); }
}


/* Durak fixes: keep the active player's timer above the hand cards. */
.app--durak-table .durak-seat.is-me.is-turn {
  z-index: 38;
}

.app--durak-table .durak-seat.is-me .durak-turn-clock {
  top: 121px;
  bottom: auto;
  z-index: 3;
  box-shadow: 0 3px 7px rgba(0,0,0,.48), 0 0 8px rgba(255,215,56,.28);
}


/* Durak: selectable defense target and always-visible action buttons. */
.app--durak-table .durak-defense-target {
  appearance: none;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  pointer-events: auto;
  border-radius: 10px;
  transition: transform .16s ease, filter .16s ease;
}
.app--durak-table .durak-defense-target:hover {
  transform: translateY(-5px) scale(1.04);
  filter: drop-shadow(0 0 10px rgba(255,240,82,.9));
}
.app--durak-table .durak-defense-target.is-selected {
  z-index: 5;
  transform: translateY(-7px) scale(1.06);
  filter: drop-shadow(0 0 12px #fff25a) drop-shadow(0 0 5px #43dfff);
}
.app--durak-table .durak-pair.is-defense-selected .durak-pair__target {
  border-style: solid;
  border-color: #fff25a;
  background: rgba(2,91,42,.52);
  color: #fffbd0;
  box-shadow: 0 0 12px rgba(255,235,70,.72), inset 0 0 8px rgba(72,220,255,.26);
}
.app--durak-table .durak-actions {
  left: auto;
  right: 22px;
  bottom: 132px;
  width: 164px;
  min-height: 44px;
  z-index: 64;
  pointer-events: auto;
}
.app--durak-table .durak-action {
  min-width: 152px;
  position: relative;
  z-index: 65;
  cursor: pointer;
  box-shadow: 0 7px 12px rgba(0,0,0,.5), 0 0 12px rgba(255,224,76,.22), inset 0 2px rgba(255,255,255,.28), inset 0 -4px rgba(0,0,0,.16);
}

/* Durak defense UX: choose a card in hand first, then choose what to beat. */
.app--durak-table .durak-hand-card.is-selected-defense {
  z-index: 58;
  transform: translateY(-9px) rotate(0deg) scale(1.1);
  filter: drop-shadow(0 0 13px #fff25a) drop-shadow(0 0 7px #39dfff);
}
.app--durak-table .durak-hand-card.is-selected-defense:hover {
  transform: translateY(-9px) rotate(0deg) scale(1.1);
}
.app--durak-table .durak-defense-target.is-valid-target {
  z-index: 5;
  transform: translateY(-5px) scale(1.045);
  filter: drop-shadow(0 0 11px rgba(255,240,82,.95)) drop-shadow(0 0 5px rgba(60,220,255,.8));
}
.app--durak-table .durak-defense-target.is-valid-target:hover {
  transform: translateY(-9px) scale(1.08);
}
.app--durak-table .durak-pair.is-defense-available .durak-pair__target {
  border-style: solid;
  border-color: #fff25a;
  background: rgba(2,91,42,.55);
  color: #fffbd0;
  box-shadow: 0 0 12px rgba(255,235,70,.72), inset 0 0 8px rgba(72,220,255,.26);
}

/* ===== Pool8 LiveGames pass: точные пропорции стола и серебристый кий =====
   Сукно остаётся 717x340, поэтому игровая геометрия JS не меняется.
   Внешняя рама стала тоньше и ближе к пропорциям стола из видео. */
.app--pool-table .pool-felt-frame {
  left: 33px !important;
  top: 136px !important;
  width: 777px !important;
  height: 394px !important;
  border-radius: 22px !important;
  box-shadow:
    0 18px 16px rgba(0,0,0,.50),
    0 3px 0 rgba(255,255,255,.10) inset !important;
}

.app--pool-table .pool-felt-frame::before {
  border-radius: 22px !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.54), rgba(187,204,209,.82) 13%, rgba(235,245,247,.72) 50%, rgba(156,177,183,.82) 87%, rgba(255,255,255,.54)),
    linear-gradient(180deg, #eef5f6, #9dadb1) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.72),
    inset 0 -8px 18px rgba(38,55,61,.28),
    0 3px 8px rgba(0,0,0,.34) !important;
}

.app--pool-table .pool-felt {
  left: 30px !important;
  top: 27px !important;
  width: 717px !important;
  height: 340px !important;
  border-radius: 4px !important;
  background:
    radial-gradient(ellipse at 48% 40%, rgba(94,198,225,.20), transparent 47%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.018) 0 1px, transparent 1px 4px),
    linear-gradient(180deg, #2a8eb5 0%, #187da4 48%, #0c6388 100%) !important;
  box-shadow:
    inset 0 0 28px rgba(0,25,43,.42),
    inset 0 0 0 1px rgba(221,248,255,.16),
    0 1px 3px rgba(0,0,0,.30) !important;
}

.app--pool-table .pool-play-overlay {
  left: 30px !important;
  top: 27px !important;
  width: 717px !important;
  height: 340px !important;
}

/* Узкие деревянные борта, как в референсе: не заходят на сукно. */
.app--pool-table .pool-rail--top,
.app--pool-table .pool-rail--bottom {
  left: 70px !important;
  right: 70px !important;
  height: 27px !important;
  border-radius: 4px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.20), transparent 24%),
    linear-gradient(90deg,
      #88452f 0%, #5e241d 18%, #39130f 43.5%,
      transparent 43.7% 56.3%,
      #39130f 56.5%, #5e241d 82%, #8d4932 100%) !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.18),
    inset 0 -6px 9px rgba(0,0,0,.42),
    0 2px 4px rgba(0,0,0,.36) !important;
}
.app--pool-table .pool-rail--top { top: 0 !important; }
.app--pool-table .pool-rail--bottom { bottom: 0 !important; }

.app--pool-table .pool-rail--left,
.app--pool-table .pool-rail--right {
  top: 70px !important;
  bottom: 70px !important;
  width: 27px !important;
  border-radius: 4px !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(180deg, #88452f 0%, #5e241d 19%, #39130f 50%, #5e241d 81%, #8d4932 100%) !important;
  box-shadow:
    inset 2px 0 0 rgba(255,255,255,.15),
    inset -6px 0 9px rgba(0,0,0,.40),
    2px 0 4px rgba(0,0,0,.34) !important;
}
.app--pool-table .pool-rail--left { left: 0 !important; }
.app--pool-table .pool-rail--right { right: 0 !important; }

.app--pool-table .pool-rail-dots {
  left: 100px !important;
  top: 11px !important;
  width: 5px !important;
  height: 5px !important;
  background: radial-gradient(circle at 35% 30%, #fff3a1 0 18%, #a88d35 22% 100%) !important;
  box-shadow:
    105px 0 0 #a88d35,
    210px 0 0 #a88d35,
    370px 0 0 #a88d35,
    475px 0 0 #a88d35,
    580px 0 0 #a88d35,
    0 367px 0 #a88d35,
    105px 367px 0 #a88d35,
    210px 367px 0 #a88d35,
    370px 367px 0 #a88d35,
    475px 367px 0 #a88d35,
    580px 367px 0 #a88d35,
    -87px 94px 0 #a88d35,
    -87px 184px 0 #a88d35,
    -87px 274px 0 #a88d35,
    664px 94px 0 #a88d35,
    664px 184px 0 #a88d35,
    664px 274px 0 #a88d35 !important;
}

/* Центр каждой лузы совпадает с углом/серединой сукна. */
.app--pool-table .pool-felt-frame > .pool-pocket {
  width: 60px !important;
  height: 60px !important;
}
.app--pool-table .pool-felt-frame > .pool-pocket::after {
  inset: 5px !important;
  background:
    radial-gradient(circle at 49% 58%, #000 0 58%, #020506 60% 76%, #10181b 78% 100%) !important;
  box-shadow:
    inset 0 0 19px #000,
    0 2px 5px rgba(0,0,0,.72),
    0 0 0 2px rgba(214,225,227,.56) !important;
}
.app--pool-table .pool-felt-frame > .pool-pocket--tl { left: 0 !important; top: -3px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--tc { left: calc(50% - 30px) !important; top: -3px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--tr { right: 0 !important; top: -3px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--bl { left: 0 !important; bottom: -3px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--bc { left: calc(50% - 30px) !important; bottom: -3px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--br { right: 0 !important; bottom: -3px !important; }

/* На видео кий светлый металлический, с тёмной рукоятью и кольцами. */
.app--pool-table .pool-play-overlay .pool-cue-stick {
  width: 210px !important;
  height: 8px !important;
  border-radius: 8px !important;
  background:
    repeating-linear-gradient(90deg,
      transparent 0 121px,
      rgba(10,13,16,.95) 122px 128px,
      rgba(230,235,236,.92) 129px 133px,
      rgba(10,13,16,.95) 134px 140px,
      transparent 141px 100%),
    linear-gradient(90deg,
      #3d2118 0 17%, #15171a 18% 37%,
      #7c858b 38% 45%, #e7ecee 48% 83%, #f8e3b4 92% 100%) !important;
  box-shadow:
    0 4px 5px rgba(0,0,0,.38),
    inset 0 1px rgba(255,255,255,.66),
    inset 0 -2px rgba(0,0,0,.24) !important;
}

/* Чуть меньше визуального запаздывания при серверных обновлениях в 30 Гц. */
.app--pool-table .pool-play-overlay .pool-ball {
  transition:
    left .048s linear,
    top .048s linear,
    opacity .14s,
    transform .14s !important;
}
.app--pool-table .pool-play-overlay .pool-ball.is-sinking {
  transition:
    left .045s linear,
    top .045s linear,
    opacity .045s linear,
    transform .045s linear,
    filter .045s linear !important;
}

/* Панель силы — деревянная шкала, ближе к верхнему блоку из видео. */
.app--pool-table .pool-actions--power {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255,207,111,.24), transparent 45%),
    linear-gradient(180deg, #884528 0%, #5b2819 51%, #2e120b 100%) !important;
  border-color: rgba(132,65,30,.96) !important;
}
.app--pool-table .pool-actions--power .pool-power-bar {
  border-color: rgba(232,235,222,.82) !important;
  background:
    repeating-linear-gradient(90deg, rgba(16,19,19,.70) 0 1px, transparent 1px 11px),
    linear-gradient(180deg, #eef0e8, #bfc4ba) !important;
  box-shadow: inset 0 2px 4px rgba(0,0,0,.42) !important;
}
.app--pool-table .pool-actions--power .pool-power-bar i {
  background: linear-gradient(90deg, #e6d34a, #f4a126 72%, #e6532d) !important;
  opacity: .86 !important;
}

.app--pool-table .pool-balls-tray,
.app--pool-table .pool-rules-note {
  top: 548px !important;
}

/* ===== Pool8 pass 2: clean HUD, compact footer, LiveGames table and rolling numbers ===== */

/* Как в покере и дураке: убираем широкое нижнее меню, оставляем только компактный профиль. */
.app--pool-table .bottom-bar {
  left: 14px;
  right: auto;
  bottom: 10px;
  width: 132px;
  height: 98px;
  border: 0;
  background: transparent;
  box-shadow: none;
  pointer-events: none;
}
.app--pool-table .bottom-buttons,
.app--pool-table .small-cabinet,
.app--pool-table .rating {
  display: none !important;
}
.app--pool-table .profile-card,
.app--pool-table .profile-card.is-user,
.app--pool-table .profile-card.is-guest {
  left: 0;
  bottom: 0;
  width: 132px;
  height: 98px;
  border-radius: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  pointer-events: auto;
}
.app--pool-table .profile-card .profile-avatar {
  display: block;
  left: 33px;
  top: 0;
  width: 66px;
  height: 64px;
  border-radius: 17px 17px 10px 10px;
  box-shadow: 0 6px 9px rgba(0,0,0,.48), inset 0 2px 3px rgba(255,255,255,.62);
}
.app--pool-table .profile-card strong,
.app--pool-table .profile-card .mod-bolt {
  display: none !important;
}
.app--pool-table .profile-card em,
.app--pool-table .profile-card.is-guest em {
  display: block;
  left: 0;
  right: 0;
  bottom: 0;
  height: 30px;
  border: 2px solid rgba(72,220,255,.78);
  border-radius: 9px;
  background: rgba(0,10,16,.92);
  color: #66ff28;
  font-size: 24px;
  line-height: 26px;
  text-align: center;
  text-shadow: 0 0 5px rgba(73,255,39,.24);
  box-shadow: 0 4px 8px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.10);
}

/* Сила удара теперь находится ровно в центральном верхнем блоке. */
.app--pool-table .pool-status-box--power {
  min-width: 300px;
  min-height: 66px;
  padding: 7px 13px 6px;
  display: grid;
  grid-template-rows: auto auto auto;
  align-content: center;
  gap: 3px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255,207,111,.28), transparent 48%),
    linear-gradient(180deg, #874326 0%, #572617 52%, #2d120b 100%);
}
.app--pool-table .pool-status-box--power .pool-power-title {
  display: block;
  margin: 0;
  color: #fff8df;
  font-size: 15px;
  line-height: 16px;
  text-align: center;
  text-shadow: 0 2px 2px #1b0904;
}
.app--pool-table .pool-status-box--power .pool-power-title strong {
  color: #fff4b1;
  font-size: 16px;
}
.app--pool-table .pool-power-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.app--pool-table .pool-status-box--power .pool-power-bar {
  width: 215px;
  height: 17px;
  padding: 2px;
  border: 1px solid rgba(236,240,225,.86);
  background:
    repeating-linear-gradient(90deg, rgba(14,18,18,.72) 0 1px, transparent 1px 10px),
    linear-gradient(180deg, #f0f2eb, #b9beb5);
  box-shadow: inset 0 2px 4px rgba(0,0,0,.45), 0 1px rgba(255,255,255,.15);
}
.app--pool-table .pool-status-box--power .pool-power-bar i {
  background: linear-gradient(90deg, #ecd74d, #f0a326 72%, #df5530);
  box-shadow: 0 0 6px rgba(255,187,35,.56);
  opacity: .9;
}
.app--pool-table .pool-status-box--power button {
  min-width: 56px;
  height: 26px;
  padding: 0 10px;
  border-radius: 14px;
  color: #3a1d00;
  font-size: 12px;
  font-weight: 950;
  background: linear-gradient(#fff16e,#ffbc18 55%,#b86d00);
  box-shadow: 0 3px 4px rgba(0,0,0,.34), inset 0 2px rgba(255,255,255,.35);
}
.app--pool-table .pool-status-box--power small {
  color: #eaf8fb;
  font-size: 9px;
  line-height: 10px;
  opacity: .77;
}

/* Старую плавающую панель и текст правил больше не показываем. */
.app--pool-table .pool-actions,
.app--pool-table .pool-rules-note {
  display: none !important;
}

/* Более тонкие карманы и серебряные губки — ближе к столу из видео. */
.app--pool-table .pool-felt-frame {
  border-radius: 17px !important;
  background: linear-gradient(180deg, #e8eff0 0%, #a8b7bb 100%) !important;
  box-shadow:
    0 15px 14px rgba(0,0,0,.46),
    inset 0 1px 0 rgba(255,255,255,.86),
    inset 0 -6px 14px rgba(32,48,54,.24) !important;
}
.app--pool-table .pool-felt-frame::before {
  left: 1px !important;
  right: 1px !important;
  top: 1px !important;
  bottom: 1px !important;
  border-radius: 16px !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.44), transparent 17% 83%, rgba(255,255,255,.32)),
    linear-gradient(180deg, #e7edef, #9eadb1) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.62),
    inset 0 -7px 14px rgba(37,52,57,.23) !important;
}
.app--pool-table .pool-felt {
  border-radius: 2px !important;
  background:
    radial-gradient(ellipse at 47% 38%, rgba(93,197,226,.16), transparent 50%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.014) 0 1px, transparent 1px 4px),
    linear-gradient(180deg, #278eb5 0%, #177da4 50%, #0c6387 100%) !important;
  box-shadow:
    inset 0 0 24px rgba(0,24,41,.38),
    inset 0 0 0 1px rgba(225,249,255,.14) !important;
}
.app--pool-table .pool-felt-frame > .pool-pocket {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
}
.app--pool-table .pool-felt-frame > .pool-pocket::before {
  inset: -3px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg,#f6fbfb 0%,#9cabad 58%,#e9f0f1 100%) !important;
  box-shadow: 0 2px 4px rgba(0,0,0,.40), inset 0 0 7px rgba(0,0,0,.18) !important;
}
.app--pool-table .pool-felt-frame > .pool-pocket::after {
  inset: 5px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 50% 58%, #000 0 64%, #020506 66% 82%, #11191b 84% 100%) !important;
  box-shadow: inset 0 0 17px #000, 0 2px 4px rgba(0,0,0,.70) !important;
}
.app--pool-table .pool-felt-frame > .pool-pocket--tl { left: 6px !important; top: 3px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--tc { left: calc(50% - 24px) !important; top: 3px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--tr { right: 6px !important; top: 3px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--bl { left: 6px !important; bottom: 3px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--bc { left: calc(50% - 24px) !important; bottom: 3px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--br { right: 6px !important; bottom: 3px !important; }

/* Деревянные борта чуть тоньше, темнее и спокойнее — как в LiveGames. */
.app--pool-table .pool-rail--top,
.app--pool-table .pool-rail--bottom {
  left: 61px !important;
  right: 61px !important;
  height: 24px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(90deg,
      #8b4a34 0%, #5c281e 20%, #391711 46%,
      transparent 46.2% 53.8%,
      #391711 54%, #5c281e 80%, #8b4a34 100%) !important;
  box-shadow: inset 0 2px rgba(255,255,255,.13), inset 0 -5px 8px rgba(0,0,0,.38), 0 2px 3px rgba(0,0,0,.34) !important;
}
.app--pool-table .pool-rail--top { top: 3px !important; }
.app--pool-table .pool-rail--bottom { bottom: 3px !important; }
.app--pool-table .pool-rail--left,
.app--pool-table .pool-rail--right {
  top: 60px !important;
  bottom: 60px !important;
  width: 24px !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.16), transparent 30%),
    linear-gradient(180deg, #8b4a34 0%, #5c281e 20%, #391711 50%, #5c281e 80%, #8b4a34 100%) !important;
  box-shadow: inset 2px 0 rgba(255,255,255,.12), inset -5px 0 8px rgba(0,0,0,.38), 2px 0 3px rgba(0,0,0,.32) !important;
}
.app--pool-table .pool-rail--left { left: 3px !important; }
.app--pool-table .pool-rail--right { right: 3px !important; }

/* Шары ярче, номерок действительно проходит по поверхности при качении. */
.app--pool-table .pool-play-overlay .pool-ball {
  border-color: rgba(255,255,255,.20) !important;
  box-shadow:
    inset 3px 3px 6px rgba(255,255,255,.24),
    inset -5px -7px 9px rgba(0,0,0,.35),
    0 3px 4px rgba(0,0,0,.43) !important;
}
.app--pool-table .pool-play-overlay .pool-ball:not(.pool-ball--cue)::after {
  display: none !important;
}
.app--pool-table .pool-play-overlay .pool-ball .pool-ball-mark {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 11.5px;
  height: 11.5px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  z-index: 2;
  opacity: var(--roll-opacity,1);
  transform:
    translate(-50%,-50%)
    translate(var(--roll-x,0px), var(--roll-y,0px))
    rotate(var(--roll-rotate,0deg))
    scaleY(var(--roll-squash,1));
  transform-origin: 50% 50%;
  background: radial-gradient(circle at 32% 24%, #fff 0 30%, #f6f1e6 55%, #d7cfc2 100%);
  box-shadow: inset -1px -2px 2px rgba(0,0,0,.16), 0 0 0 1px rgba(0,0,0,.16), 0 1px 2px rgba(0,0,0,.18);
  transition: transform .048s linear, opacity .048s linear;
  will-change: transform, opacity;
}
.app--pool-table .pool-play-overlay .pool-ball .pool-ball-mark .pool-ball-num {
  position: static !important;
  z-index: auto !important;
  min-width: 0 !important;
  transform: none !important;
  color: #111 !important;
  letter-spacing: -.55px !important;
  font: 900 8px/1 Arial, sans-serif !important;
}
.app--pool-table .pool-play-overlay .pool-ball--cue .pool-ball-mark {
  display: none !important;
}

/* Нижний ряд забитых шаров остаётся, но не перекрывает игровое поле. */
.app--pool-table .pool-balls-tray {
  left: 63px !important;
  top: 543px !important;
  gap: 5px !important;
}

/* Уточнение рамы: серебро остаётся тонким кантом и губками, без крупных белых "подушек". */
.app--pool-table .pool-felt-frame {
  border-radius: 12px !important;
  background: transparent !important;
}
.app--pool-table .pool-felt-frame::before {
  box-sizing: border-box !important;
  inset: 0 !important;
  border: 7px solid #cbd6d8 !important;
  border-radius: 12px !important;
  background: transparent !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.64),
    inset 0 -5px 9px rgba(34,49,54,.20),
    0 2px 3px rgba(0,0,0,.30) !important;
}
.app--pool-table .pool-rail--top,
.app--pool-table .pool-rail--bottom {
  left: 51px !important;
  right: 51px !important;
}
.app--pool-table .pool-rail--left,
.app--pool-table .pool-rail--right {
  top: 51px !important;
  bottom: 51px !important;
}
.app--pool-table .pool-status-box--power {
  flex: 0 0 330px;
  min-width: 0;
}
.app--pool-table .pool-felt-frame > .pool-pocket::before,
.app--pool-table .pool-felt-frame > .pool-pocket--tl::before,
.app--pool-table .pool-felt-frame > .pool-pocket--tc::before,
.app--pool-table .pool-felt-frame > .pool-pocket--tr::before,
.app--pool-table .pool-felt-frame > .pool-pocket--bl::before,
.app--pool-table .pool-felt-frame > .pool-pocket--bc::before,
.app--pool-table .pool-felt-frame > .pool-pocket--br::before {
  left: -3px !important;
  right: -3px !important;
  top: -3px !important;
  bottom: -3px !important;
  width: auto !important;
  height: auto !important;
  border-radius: 50% !important;
  clip-path: none !important;
}

/* ===== Pool8 video comparison pass: LiveGames HUD, exact 2:1 field and true rolling ===== */

/* Верхний HUD: сила слева, деревянная полка забитых шаров справа. */
.app--pool-table .pool-topbar {
  left: 32px !important;
  right: 32px !important;
  top: 42px !important;
  height: 86px !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  gap: 16px !important;
}
.app--pool-table .pool-player-card,
.app--pool-table .pool-status-box {
  display: none !important;
}

.app--pool-table .pool-power-panel {
  position: relative;
  flex: 0 0 430px;
  min-width: 0;
  padding: 8px 14px 7px;
  border: 3px solid #5c2818;
  border-radius: 5px 5px 18px 18px;
  color: #fff9df;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255,210,132,.23), transparent 52%),
    linear-gradient(180deg, #8c482b 0%, #71351f 46%, #482014 47%, #32140d 100%);
  box-shadow:
    0 7px 10px rgba(0,0,0,.46),
    inset 0 2px 0 rgba(255,255,255,.18),
    inset 0 -5px 9px rgba(0,0,0,.28);
  text-shadow: 0 2px 2px #1a0804;
}
.app--pool-table .pool-power-panel::before,
.app--pool-table .pool-power-panel::after {
  content: "";
  position: absolute;
  bottom: -10px;
  width: 58px;
  height: 16px;
  background: #4a2014;
  border-radius: 0 0 55% 55%;
  box-shadow: inset 0 -3px 4px rgba(0,0,0,.3);
}
.app--pool-table .pool-power-panel::before { left: 54px; transform: rotate(7deg); }
.app--pool-table .pool-power-panel::after { right: 54px; transform: rotate(-7deg); }
.app--pool-table .pool-power-heading {
  height: 20px;
  font-size: 16px;
  line-height: 20px;
  font-weight: 950;
  text-align: center;
}
.app--pool-table .pool-power-heading strong {
  color: #fff4a6;
  font-size: 17px;
}
.app--pool-table .pool-power-controls {
  height: 37px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 9px;
}
.app--pool-table .pool-power-scale {
  width: 330px;
}
.app--pool-table .pool-power-bar {
  position: relative;
  width: 100%;
  height: 18px;
  padding: 2px;
  overflow: hidden;
  border: 1px solid #1b1b18;
  border-radius: 1px;
  background:
    repeating-linear-gradient(90deg, transparent 0 9px, rgba(22,22,20,.84) 9px 11px),
    linear-gradient(180deg,#f1f1e9 0%,#c4c7be 48%,#a8aaa2 100%);
  box-shadow:
    inset 0 2px 4px rgba(0,0,0,.52),
    0 1px 0 rgba(255,255,255,.3);
}
.app--pool-table .pool-power-bar::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(90deg, transparent 0 4px, rgba(0,0,0,.42) 4px 5px);
  opacity: .42;
  z-index: 2;
}
.app--pool-table .pool-power-bar i {
  position: absolute;
  left: 2px;
  top: 2px;
  bottom: 2px;
  border-radius: 1px;
  background: linear-gradient(90deg,#ffe436 0%,#ffbc22 48%,#f17028 82%,#d83b26 100%);
  box-shadow: inset 0 1px rgba(255,255,255,.45), 0 0 5px rgba(255,174,36,.42);
  transition: width .035s linear;
}
.app--pool-table .pool-power-labels {
  display: flex;
  justify-content: space-between;
  margin-top: 0;
  color: #fff9ea;
  font: 800 9px/12px Arial,sans-serif;
  text-shadow: 0 1px 1px #241006;
}
.app--pool-table .pool-power-panel button {
  min-width: 55px;
  height: 27px;
  margin-top: -1px;
  padding: 0 8px;
  border: 1px solid #754400;
  border-radius: 14px;
  color: #3d2100;
  font-size: 12px;
  font-weight: 950;
  background: linear-gradient(#fff370,#ffc221 56%,#c87b00);
  box-shadow: 0 3px 5px rgba(0,0,0,.38), inset 0 2px rgba(255,255,255,.42);
}
.app--pool-table .pool-power-panel.is-disabled .pool-power-bar i { width: 0 !important; }
.app--pool-table .pool-power-panel.is-disabled .pool-power-heading strong { color: #c9c2a6; }
.app--pool-table .pool-hud-status,
.app--pool-table .pool-hud-substatus {
  position: absolute;
  left: 14px;
  right: 14px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-align: center;
}
.app--pool-table .pool-hud-status {
  bottom: 7px;
  color: #fff2c8;
  font: 900 10px/11px Arial,sans-serif;
}
.app--pool-table .pool-hud-substatus {
  bottom: -8px;
  color: #d6f5ff;
  font: 700 8px/9px Arial,sans-serif;
  opacity: .82;
}

.app--pool-table .pool-potted-rack {
  position: relative;
  flex: 0 0 280px;
  min-width: 0;
  padding: 5px 9px 8px;
  border: 3px solid #552514;
  border-radius: 5px 5px 10px 10px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255,207,111,.21), transparent 52%),
    linear-gradient(180deg,#8f4a29 0%,#67301c 43%,#3b180f 100%);
  box-shadow:
    0 7px 10px rgba(0,0,0,.46),
    inset 0 2px rgba(255,255,255,.18),
    inset 0 -5px 9px rgba(0,0,0,.3);
}
.app--pool-table .pool-rack-title {
  height: 17px;
  color: #fff3d4;
  font: 900 11px/17px Arial,sans-serif;
  text-align: center;
  text-shadow: 0 2px 2px #1b0804;
}
.app--pool-table .pool-rack-body {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 6px;
  height: 53px;
}
.app--pool-table .pool-rack-eight {
  display: grid;
  place-items: center;
  border: 2px solid #3d160d;
  border-radius: 5px;
  background: linear-gradient(180deg,#78361f,#34140d);
  box-shadow: inset 0 2px 4px rgba(0,0,0,.48), inset 0 -1px rgba(255,255,255,.08);
}
.app--pool-table .pool-rack-eight-slot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: radial-gradient(circle,#22100b 0 53%,#5a2718 57% 100%);
  box-shadow: inset 0 2px 5px #000;
}
.app--pool-table .pool-rack-shelves {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 4px;
}
.app--pool-table .pool-rack-shelf {
  position: relative;
  display: flex;
  align-items: center;
  gap: 3px;
  min-width: 0;
  padding: 1px 5px 3px;
  overflow: hidden;
  border: 2px solid #3e170d;
  border-radius: 3px;
  background: linear-gradient(180deg,#71331e 0 63%,#2e110b 65% 100%);
  box-shadow: inset 0 2px 4px rgba(0,0,0,.45), inset 0 -1px rgba(255,255,255,.08);
}
.app--pool-table .pool-rack-shelf::after {
  content: "";
  position: absolute;
  left: 2px;
  right: 2px;
  bottom: 1px;
  height: 2px;
  background: rgba(229,139,69,.35);
  box-shadow: 0 1px rgba(0,0,0,.5);
}
.app--pool-table .pool-rack-ball {
  position: relative;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  color: #111;
  font: 900 6.5px/1 Arial,sans-serif;
  text-shadow: none;
  background:
    radial-gradient(circle at 29% 23%,rgba(255,255,255,.96) 0 7%,transparent 20%),
    radial-gradient(circle at 35% 31%,color-mix(in srgb,var(--ball-color) 63%,white) 0 22%,var(--ball-color) 49%,color-mix(in srgb,var(--ball-color) 64%,black) 100%);
  box-shadow: inset -3px -4px 5px rgba(0,0,0,.36), 0 1px 2px rgba(0,0,0,.55);
  z-index: 1;
}
.app--pool-table .pool-rack-ball::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  transform: translate(-50%,-50%);
  background: #f5f1e8;
  box-shadow: 0 0 0 1px rgba(0,0,0,.16);
}
.app--pool-table .pool-rack-ball span { position: relative; z-index: 2; }
.app--pool-table .pool-rack-ball.pool-ball--stripe {
  background:
    radial-gradient(circle at 29% 23%,rgba(255,255,255,.96) 0 7%,transparent 20%),
    linear-gradient(#f5f1e8 0 24%,var(--ball-color) 25% 75%,#e5ded1 76% 100%);
}
.app--pool-table .pool-rack-ball.pool-ball--eight { color: #111; --ball-color:#080808; }

/* Поле теперь отображается строго в соотношении 2:1: 717x359. */
.app--pool-table .pool-felt-frame {
  left: 33px !important;
  top: 138px !important;
  width: 777px !important;
  height: 417px !important;
  border-radius: 12px !important;
  background: transparent !important;
  box-shadow: 0 17px 15px rgba(0,0,0,.48), 0 2px 0 rgba(255,255,255,.09) inset !important;
}
.app--pool-table .pool-felt-frame::before {
  box-sizing: border-box !important;
  inset: 0 !important;
  border: 7px solid #c8d3d6 !important;
  border-radius: 12px !important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.52),transparent 22% 78%,rgba(255,255,255,.18)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.58),
    inset 0 -6px 10px rgba(35,51,56,.24),
    0 2px 4px rgba(0,0,0,.34) !important;
}
.app--pool-table .pool-felt,
.app--pool-table .pool-play-overlay {
  left: 30px !important;
  top: 29px !important;
  width: 717px !important;
  height: 359px !important;
}
.app--pool-table .pool-felt {
  border-radius: 1px !important;
  background:
    radial-gradient(ellipse at 47% 37%,rgba(87,167,196,.12),transparent 51%),
    repeating-linear-gradient(0deg,rgba(255,255,255,.010) 0 1px,transparent 1px 4px),
    linear-gradient(180deg,#25779a 0%,#1c6d8f 48%,#155c7b 100%) !important;
  box-shadow:
    inset 0 0 29px rgba(0,21,37,.43),
    inset 0 0 0 1px rgba(217,246,255,.13) !important;
}
.app--pool-table .pool-felt::after {
  left: 72.5% !important;
  background: rgba(205,239,249,.23) !important;
}

/* Дерево, голубая резина и раздельные секции около средней лузы. */
.app--pool-table .pool-rail--top,
.app--pool-table .pool-rail--bottom {
  left: 51px !important;
  right: 51px !important;
  height: 27px !important;
  border-radius: 2px !important;
}
.app--pool-table .pool-rail--top { top: 2px !important; }
.app--pool-table .pool-rail--bottom { bottom: 2px !important; }
.app--pool-table .pool-rail--left,
.app--pool-table .pool-rail--right {
  top: 51px !important;
  bottom: 51px !important;
  width: 27px !important;
  border-radius: 2px !important;
}
.app--pool-table .pool-rail--left { left: 2px !important; }
.app--pool-table .pool-rail--right { right: 2px !important; }
.app--pool-table .pool-rail--top::after,
.app--pool-table .pool-rail--bottom::after,
.app--pool-table .pool-rail--left::after,
.app--pool-table .pool-rail--right::after {
  content: "";
  position: absolute;
  pointer-events: none;
  background: linear-gradient(180deg,#79bdd4,#2b7f9e 58%,#175c78);
  box-shadow: inset 0 1px rgba(255,255,255,.30), 0 1px 2px rgba(0,0,0,.30);
}
.app--pool-table .pool-rail--top::after { left: 0; right: 0; bottom: -6px; height: 7px; clip-path: polygon(0 0,100% 0,98.8% 100%,1.2% 100%); }
.app--pool-table .pool-rail--bottom::after { left: 0; right: 0; top: -6px; height: 7px; clip-path: polygon(1.2% 0,98.8% 0,100% 100%,0 100%); }
.app--pool-table .pool-rail--left::after { top: 0; bottom: 0; right: -6px; width: 7px; clip-path: polygon(0 0,100% 1.2%,100% 98.8%,0 100%); }
.app--pool-table .pool-rail--right::after { top: 0; bottom: 0; left: -6px; width: 7px; clip-path: polygon(0 1.2%,100% 0,100% 100%,0 98.8%); }

.app--pool-table .pool-rail-dots {
  left: 100px !important;
  top: 12px !important;
  box-shadow:
    105px 0 0 #a88d35,
    210px 0 0 #a88d35,
    370px 0 0 #a88d35,
    475px 0 0 #a88d35,
    580px 0 0 #a88d35,
    0 390px 0 #a88d35,
    105px 390px 0 #a88d35,
    210px 390px 0 #a88d35,
    370px 390px 0 #a88d35,
    475px 390px 0 #a88d35,
    580px 390px 0 #a88d35,
    -87px 99px 0 #a88d35,
    -87px 195px 0 #a88d35,
    -87px 291px 0 #a88d35,
    664px 99px 0 #a88d35,
    664px 195px 0 #a88d35,
    664px 291px 0 #a88d35 !important;
}

/* Лузы: чёрное отверстие плюс отдельные серебряные угловые/средние накладки. */
.app--pool-table .pool-felt-frame > .pool-pocket {
  width: 48px !important;
  height: 48px !important;
  overflow: visible !important;
}
.app--pool-table .pool-felt-frame > .pool-pocket::before {
  inset: -8px !important;
  border-radius: 8px !important;
  background: linear-gradient(135deg,#f2f7f8 0%,#a9b7ba 58%,#e7edef 100%) !important;
  box-shadow: 0 2px 4px rgba(0,0,0,.38), inset 0 0 6px rgba(0,0,0,.15) !important;
}
.app--pool-table .pool-felt-frame > .pool-pocket::after {
  inset: 4px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 50% 58%,#000 0 64%,#020506 66% 82%,#12191b 84% 100%) !important;
  box-shadow: inset 0 0 18px #000,0 2px 4px rgba(0,0,0,.72) !important;
}
.app--pool-table .pool-felt-frame > .pool-pocket--tl { left: 6px !important; top: 5px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--tc { left: calc(50% - 24px) !important; top: 5px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--tr { right: 6px !important; top: 5px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--bl { left: 6px !important; bottom: 5px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--bc { left: calc(50% - 24px) !important; bottom: 5px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--br { right: 6px !important; bottom: 5px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--tl::before { clip-path: polygon(0 0,100% 0,100% 41%,41% 100%,0 100%); }
.app--pool-table .pool-felt-frame > .pool-pocket--tr::before { clip-path: polygon(0 0,100% 0,100% 100%,59% 100%,0 41%); }
.app--pool-table .pool-felt-frame > .pool-pocket--bl::before { clip-path: polygon(0 0,41% 0,100% 59%,100% 100%,0 100%); }
.app--pool-table .pool-felt-frame > .pool-pocket--br::before { clip-path: polygon(59% 0,100% 0,100% 100%,0 100%,0 59%); }
.app--pool-table .pool-felt-frame > .pool-pocket--tc::before { left: -14px !important; right: -14px !important; top: -8px !important; bottom: 16px !important; clip-path: polygon(0 0,100% 0,92% 100%,8% 100%); }
.app--pool-table .pool-felt-frame > .pool-pocket--bc::before { left: -14px !important; right: -14px !important; top: 16px !important; bottom: -8px !important; clip-path: polygon(8% 0,92% 0,100% 100%,0 100%); }

/* Нижняя линейка убрана: забитые шары теперь только на верхней деревянной полке. */
.app--pool-table .pool-balls-tray { display: none !important; }

/* Настоящее визуальное качение: номер уходит к краю/за шар, полоса тоже вращается. */
.app--pool-table .pool-play-overlay .pool-ball {
  transition:
    left .040s linear,
    top .040s linear,
    opacity .12s,
    transform .12s !important;
}
.app--pool-table .pool-play-overlay .pool-ball .pool-ball-mark {
  width: 11.5px !important;
  height: 11.5px !important;
  opacity: var(--roll-opacity,1) !important;
  transform:
    translate(-50%,-50%)
    rotate(var(--roll-dir,0deg))
    translateX(var(--roll-shift,0px))
    scaleX(var(--roll-squash,1))
    rotate(var(--roll-counter,0deg))
    rotate(var(--roll-rotate,0deg)) !important;
  transition: transform .040s linear,opacity .040s linear !important;
  will-change: transform,opacity;
}
.app--pool-table .pool-play-overlay .pool-ball-band {
  position: absolute;
  left: -3px;
  right: -3px;
  top: 6px;
  height: 12px;
  z-index: 0;
  border-radius: 45%;
  background: linear-gradient(180deg,
    color-mix(in srgb,var(--ball-color) 78%,white),
    var(--ball-color) 48%,
    color-mix(in srgb,var(--ball-color) 68%,black));
  box-shadow: inset 0 1px rgba(255,255,255,.24),inset 0 -2px rgba(0,0,0,.26);
  transform:
    translateY(var(--band-offset,0px))
    rotate(var(--band-angle,0deg))
    scaleY(var(--band-squash,1));
  transition: transform .040s linear;
  will-change: transform;
}
.app--pool-table .pool-play-overlay .pool-ball--stripe {
  background:
    radial-gradient(circle at 28% 23%,rgba(255,255,255,.98) 0 6%,rgba(255,255,255,.58) 7% 12%,rgba(255,255,255,0) 21%),
    radial-gradient(circle at 34% 29%,#fff 0 23%,#ede8dc 55%,#aaa49b 100%) !important;
}
.app--pool-table .pool-play-overlay .pool-ball::before { z-index: 3 !important; }
.app--pool-table .pool-play-overlay .pool-ball .pool-ball-mark { z-index: 4 !important; }


/* Небольшая финальная правка плотности текста внутри шкалы. */
.app--pool-table .pool-hud-status { bottom: 12px !important; }
.app--pool-table .pool-hud-substatus { bottom: 2px !important; }


/* ===== Pool8 side-pocket accessibility pass =====
   Средние лузы получили более широкую физическую горловину в server.js.
   Здесь серебряные накладки сделаны компактнее, чтобы не перекрывать сукно
   и визуально совпадать с фактическим проходом шара. */
.app--pool-table .pool-felt-frame > .pool-pocket--tc::before {
  left: -6px !important;
  right: -6px !important;
  top: -3px !important;
  bottom: 21px !important;
  border-radius: 5px !important;
  clip-path: polygon(0 0,100% 0,84% 100%,16% 100%) !important;
}
.app--pool-table .pool-felt-frame > .pool-pocket--bc::before {
  left: -6px !important;
  right: -6px !important;
  top: 21px !important;
  bottom: -3px !important;
  border-radius: 5px !important;
  clip-path: polygon(16% 0,84% 0,100% 100%,0 100%) !important;
}
.app--pool-table .pool-felt-frame > .pool-pocket--tc::after,
.app--pool-table .pool-felt-frame > .pool-pocket--bc::after {
  inset: 3px !important;
}

/* ===== Pool8 pockets outward + full rail aiming pass =====
   В LiveGames центры луз находятся снаружи сукна: на поле видна только
   горловина. Декоративные накладки больше не перекрывают траектории,
   а кий всегда рисуется поверх рамы при ударах вдоль бортов. */
.app--pool-table .pool-felt-frame,
.app--pool-table .pool-play-overlay,
.app--pool-table .table-area.table-area--pool {
  overflow: visible !important;
}

.app--pool-table .pool-felt-frame > .pool-pocket,
.app--pool-table .pool-felt-frame > .pool-pocket::before,
.app--pool-table .pool-felt-frame > .pool-pocket::after,
.app--pool-table .pool-rail,
.app--pool-table .pool-rail-dots {
  pointer-events: none !important;
}

/* Центр отверстия вынесен примерно на 18 px за кромку сукна.
   Это также визуально совпадает с физическими центрами луз на сервере. */
.app--pool-table .pool-felt-frame > .pool-pocket--tl { left: -12px !important; top: -13px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--tc { left: calc(50% - 24px) !important; top: -13px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--tr { right: -12px !important; top: -13px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--bl { left: -12px !important; bottom: -13px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--bc { left: calc(50% - 24px) !important; bottom: -13px !important; }
.app--pool-table .pool-felt-frame > .pool-pocket--br { right: -12px !important; bottom: -13px !important; }

/* Угловая металлическая деталь остаётся на раме, а не лежит на сукне. */
.app--pool-table .pool-felt-frame > .pool-pocket--tl::before,
.app--pool-table .pool-felt-frame > .pool-pocket--tr::before,
.app--pool-table .pool-felt-frame > .pool-pocket--bl::before,
.app--pool-table .pool-felt-frame > .pool-pocket--br::before {
  inset: -8px !important;
  border-radius: 9px !important;
}
.app--pool-table .pool-felt-frame > .pool-pocket--tl::before {
  clip-path: polygon(0 0,100% 0,100% 38%,62% 38%,38% 62%,38% 100%,0 100%) !important;
}
.app--pool-table .pool-felt-frame > .pool-pocket--tr::before {
  clip-path: polygon(0 0,100% 0,100% 100%,62% 100%,62% 62%,38% 38%,0 38%) !important;
}
.app--pool-table .pool-felt-frame > .pool-pocket--bl::before {
  clip-path: polygon(0 0,38% 0,38% 38%,62% 62%,100% 62%,100% 100%,0 100%) !important;
}
.app--pool-table .pool-felt-frame > .pool-pocket--br::before {
  clip-path: polygon(62% 0,100% 0,100% 100%,0 100%,0 62%,38% 62%,62% 38%) !important;
}

/* Средняя накладка полностью находится с внешней стороны борта. */
.app--pool-table .pool-felt-frame > .pool-pocket--tc::before {
  left: -8px !important;
  right: -8px !important;
  top: -4px !important;
  bottom: 22px !important;
  clip-path: polygon(0 0,100% 0,82% 100%,18% 100%) !important;
}
.app--pool-table .pool-felt-frame > .pool-pocket--bc::before {
  left: -8px !important;
  right: -8px !important;
  top: 22px !important;
  bottom: -4px !important;
  clip-path: polygon(18% 0,82% 0,100% 100%,0 100%) !important;
}

/* Кий не скрывается под центральной лузой, верхним или нижним бортом. */
.app--pool-table .pool-play-overlay {
  z-index: 40 !important;
}
.app--pool-table .pool-play-overlay .pool-cue-stick {
  z-index: 80 !important;
  pointer-events: none !important;
  visibility: visible;
}
.app--pool-table .pool-play-overlay .pool-aim-target,
.app--pool-table .pool-play-overlay .pool-cue-ghost {
  z-index: 81 !important;
  pointer-events: none !important;
}
.app--pool-table .pool-play-overlay .pool-ball {
  z-index: 70 !important;
}
.app--pool-table .pool-play-overlay .pool-ball.is-sinking {
  z-index: 11 !important;
}

/* ======================================================================
   CLASSIC RUSHPLAY VIDEO REFERENCE UI
   Rebuilds the shell, lobby and rank decorations while keeping all game
   logic untouched. The gold/platinum laurels are real scalable SVGs.
   ====================================================================== */
.classic-rush-ui {
  --classic-navy-0:#031c2b;
  --classic-navy-1:#06364d;
  --classic-navy-2:#075270;
  --classic-cyan:#08a9df;
  --classic-gold-0:#fff46d;
  --classic-gold-1:#ffc321;
  --classic-gold-2:#d07800;
  --classic-bronze-0:#e4ad4c;
  --classic-bronze-1:#8f5314;
}

.classic-rush-ui .viewport {
  background:
    radial-gradient(ellipse at 50% 38%, rgba(24,105,136,.27), transparent 54%),
    repeating-radial-gradient(ellipse at 13% 50%, transparent 0 37px, rgba(67,163,194,.055) 38px 39px, transparent 40px 72px),
    linear-gradient(90deg,#03283b 0 8%,#063d55 8% 92%,#03283b 92% 100%);
}
.classic-rush-ui .app {
  background:
    repeating-radial-gradient(ellipse at 12% 49%, transparent 0 34px, rgba(83,174,201,.045) 35px 36px, transparent 37px 68px),
    linear-gradient(90deg,#052f44 0 8%,#073e56 8% 92%,#052f44 92% 100%);
  box-shadow:0 0 55px rgba(0,0,0,.55);
}
.classic-rush-ui .outside-side {
  width:86px;
  background:
    linear-gradient(90deg,rgba(0,0,0,.18),transparent 24% 76%,rgba(0,0,0,.18)),
    repeating-radial-gradient(circle at 50% 50%,transparent 0 42px,rgba(66,167,198,.055) 43px 44px,transparent 45px 84px);
  border-color:rgba(5,165,214,.28);
}
.classic-rush-ui .club-shell {
  left:245px;
  top:13px;
  width:1110px;
  height:724px;
  overflow:visible;
  border:0;
  border-radius:7px 7px 2px 2px;
  background:
    radial-gradient(ellipse at 47% 37%,rgba(14,104,139,.45),transparent 58%),
    linear-gradient(180deg,#07506d 0%,#063d57 13%,#052f47 100%);
  box-shadow:
    0 18px 32px rgba(0,0,0,.46),
    inset 0 0 0 2px rgba(5,167,219,.33),
    inset 0 0 35px rgba(0,0,0,.22);
}
.classic-rush-ui .club-shell::before {
  inset:0;
  border-radius:inherit;
  background:
    repeating-radial-gradient(ellipse at 18% 48%,transparent 0 34px,rgba(95,187,212,.035) 35px 36px,transparent 37px 67px),
    linear-gradient(90deg,transparent,rgba(255,255,255,.035),transparent 62%);
}

/* CrownMatch Club logo */
.classic-rush-ui .brand {
  left:18px;
  top:-12px;
  width:286px;
  height:100px;
  filter:none;
}
.classic-rush-ui .brand-logo {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
}
/* top tabs from the reference: gift / handshake / flag */
.classic-rush-ui .top-tabs {
  left:300px;
  top:1px;
  right:12px;
  height:61px;
  gap:2px;
}
.classic-rush-ui .top-tab {
  position:relative;
  flex:1 1 0;
  min-width:0;
  height:57px;
  padding:0 18px 0 63px;
  overflow:hidden;
  border:1px solid #f7cc29;
  border-radius:3px 3px 16px 16px;
  color:#8c2d00;
  font-size:18px;
  font-weight:950;
  text-align:left;
  background:
    linear-gradient(180deg,rgba(255,255,255,.42),transparent 24%),
    linear-gradient(180deg,#ffe956 0%,#ffbd16 52%,#de7c00 100%);
  box-shadow:0 5px 8px rgba(0,0,0,.38),inset 0 -5px rgba(119,62,0,.22);
}
.classic-rush-ui .top-tab span { display:block;line-height:19px;text-align:center; }
.classic-rush-ui .top-tab small { display:block;font-size:11px;color:#6c2b00;line-height:14px; }
.classic-rush-ui .top-tab::before {
  position:absolute;
  left:17px;
  top:8px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  color:#8f2700;
  font:950 28px/1 Georgia,serif;
  text-shadow:0 1px rgba(255,255,255,.7);
}
.classic-rush-ui .top-tab:nth-child(1)::before { content:"▣";color:#d21824;text-shadow:-6px 5px 0 #ffeb3b,0 1px #fff; }
.classic-rush-ui .top-tab:nth-child(2)::before { content:"♣";color:#d3a57b;font-size:35px;transform:rotate(-18deg); }
.classic-rush-ui .top-tab:nth-child(3)::before { content:"▰";color:#111;transform:skew(-12deg);text-shadow:8px 0 #fff,16px 0 #111; }
.classic-rush-ui .top-tab:hover { filter:brightness(1.07); }

/* left gold tabs */
.classic-rush-ui .left-tabs {
  left:-37px;
  top:92px;
  width:50px;
}
.classic-rush-ui .left-tabs button {
  position:relative;
  width:47px;
  height:104px;
  margin-bottom:-5px;
  border:1px solid #9e5700;
  border-radius:0 10px 10px 0;
  font-size:13px;
  background:
    linear-gradient(90deg,#bd6b00 0%,#ffe65c 31%,#ffb20e 71%,#a95e00 100%);
  box-shadow:4px 4px 7px rgba(0,0,0,.43),inset -3px 0 rgba(255,255,255,.22);
}
.classic-rush-ui .left-tabs button::after {
  content:"";
  position:absolute;
  left:6px;
  top:8px;
  width:12px;
  height:16px;
  border-radius:2px;
  background:linear-gradient(#fff,#bdeeff);
  box-shadow:0 1px 2px rgba(0,0,0,.35);
  opacity:.86;
}

/* menu game medallions */
.classic-rush-ui .app--menu .menu-heading { display:none; }
.classic-rush-ui .app--menu .game-grid--three {
  left:72px;
  top:122px;
  width:962px;
  grid-template-columns:repeat(3,300px);
  column-gap:31px;
}
.classic-rush-ui .app--menu .game-card {
  height:300px;
  transition:transform .18s ease,filter .18s ease;
}
.classic-rush-ui .app--menu .game-card__count {
  top:-7px;
  right:49px;
  color:#f5f8fb;
  font-size:18px;
  text-shadow:0 2px 2px #00131d;
}
.classic-rush-ui .app--menu .game-card__plate {
  left:47px;
  top:11px;
  width:207px;
  height:177px;
  border:0;
  border-radius:50%;
  background:
    radial-gradient(ellipse at 48% 43%,rgba(255,255,255,.12),transparent 23%),
    radial-gradient(ellipse at center,#11769b 0 54%,#493019 55% 57%,#d49a3f 58% 66%,#7f4810 67% 72%,transparent 73%);
  box-shadow:0 13px 9px rgba(0,0,0,.52),inset 0 0 0 4px rgba(255,211,91,.27);
}
.classic-rush-ui .app--menu .game-card__plate::before,
.classic-rush-ui .app--menu .game-card__plate::after {
  width:18px;
  height:31px;
  top:70px;
  background:linear-gradient(#e2aa4e,#95520d);
  box-shadow:inset 0 2px rgba(255,255,255,.3),0 2px 3px rgba(0,0,0,.4);
}
.classic-rush-ui .app--menu .game-card h3 {
  top:117px;
  left:8px;
  right:5px;
  color:#f2f04a;
  font-size:29px;
  line-height:.91;
  font-style:italic;
  transform:rotate(-7deg);
  -webkit-text-stroke:.6px #1c2600;
  text-shadow:2px 2px 0 #143040,4px 5px 2px rgba(0,0,0,.55);
}
.classic-rush-ui .app--menu .game-card p {
  top:220px;
  left:42px;
  width:216px;
  color:#bfe8f6;
  font-size:15px;
  opacity:.82;
}
.classic-rush-ui .app--menu .game-card:hover {
  transform:translateY(-5px) scale(1.02);
  filter:brightness(1.08);
}
.classic-rush-ui .app--menu .game-card:hover .game-card__plate {
  box-shadow:0 16px 12px rgba(0,0,0,.56),0 0 22px rgba(255,210,54,.22),inset 0 0 0 4px rgba(255,223,117,.34);
}
.classic-rush-ui .app--menu .icon--pool::before { left:43px;top:25px;width:121px;height:73px; }
.classic-rush-ui .app--menu .icon--pool::after { left:55px;top:103px; }
.classic-rush-ui .app--menu .icon--texas::before,
.classic-rush-ui .app--menu .icon--texas::after,
.classic-rush-ui .app--menu .icon--durak::before,
.classic-rush-ui .app--menu .icon--durak::after { top:3px; }
.classic-rush-ui .app--menu .scroll-knob {
  right:24px;
  top:115px;
  width:14px;
  height:188px;
  background:linear-gradient(#16aee2,#087ba7);
  box-shadow:0 0 6px rgba(20,204,255,.25),inset 0 0 8px rgba(0,0,0,.28);
}

/* ticker / help */
.classic-rush-ui .ticker {
  left:264px;
  bottom:93px;
  width:603px;
  height:30px;
  border:1px solid #0a1d27;
  background:#020303;
  box-shadow:0 3px 0 rgba(7,102,138,.55),inset 0 0 9px #000;
}
.classic-rush-ui .ticker span { line-height:28px;color:#f2a33b;font-size:18px; }
.classic-rush-ui .help-btn {
  right:28px;
  bottom:63px;
  width:84px;
  height:78px;
  border:4px solid #c47b00;
  background:radial-gradient(circle at 42% 35%,#fff172 0 13%,#ffc627 14% 57%,#a35e00 58%);
  font-size:17px;
}
.classic-rush-ui .help-btn::before { content:"◔";display:block;color:#d4222e;font-size:26px;line-height:24px; }
.classic-rush-ui .support-btn { right:22px;bottom:18px;width:120px;height:19px;font-size:9px; }

/* bottom navigation */
.classic-rush-ui .bottom-bar { height:136px; }
.classic-rush-ui .small-cabinet,
.classic-rush-ui .app.is-guest .small-cabinet {
  left:177px;
  bottom:15px;
  width:59px;
  height:59px;
  border:3px solid #be7600;
  font-size:10px;
  background:radial-gradient(circle at 38% 31%,#fff06b 0 14%,#ffc425 15% 58%,#9c5800 59%);
}
.classic-rush-ui .bottom-buttons {
  left:286px;
  bottom:7px;
  height:92px;
  gap:10px;
  align-items:end;
}
.classic-rush-ui .bottom-buttons button {
  position:relative;
  width:92px;
  height:88px;
  padding:46px 5px 8px;
  border:0;
  border-radius:50%;
  overflow:visible;
  color:#fff36b;
  font-size:14px;
  line-height:.9;
  font-style:italic;
  background:
    radial-gradient(ellipse at 44% 31%,rgba(255,255,255,.45),transparent 18%),
    radial-gradient(circle,#1b7590 0 51%,#e5ab43 52% 63%,#864b0d 64% 72%,transparent 73%);
  text-shadow:1px 2px 0 #172c31,3px 3px 2px rgba(0,0,0,.5);
  box-shadow:0 9px 7px rgba(0,0,0,.44);
}
.classic-rush-ui .bottom-buttons button::before {
  position:absolute;
  left:0;
  right:0;
  top:12px;
  color:#fff;
  font:950 31px/1 Georgia,serif;
  text-align:center;
  text-shadow:2px 2px 0 rgba(0,0,0,.48);
}
.classic-rush-ui .bottom-buttons button:nth-child(1)::before { content:"◆  ⚄";color:#e5f4ff;font-size:25px; }
.classic-rush-ui .bottom-buttons button:nth-child(2)::before { content:"♠♥";color:#fff;font-size:31px; }
.classic-rush-ui .bottom-buttons button:nth-child(3)::before { content:"▰";color:#ffe56b;font-size:37px;text-shadow:0 7px 0 #d28b00,0 13px 0 #9a5c00; }
.classic-rush-ui .bottom-buttons button:nth-child(4)::before { content:"♣";color:#fff;font-size:38px; }
.classic-rush-ui .bottom-buttons button:nth-child(5)::before { content:"★";color:#d9f2ff;font-size:36px; }
.classic-rush-ui .bottom-buttons button:hover { filter:brightness(1.13);transform:translateY(-2px); }
.classic-rush-ui .rating {
  right:0;
  bottom:0;
  width:190px;
  height:48px;
  border-radius:25px 0 0 0;
  color:#69ff27;
  font-size:24px;
  line-height:48px;
  background:#020303;
}

/* exact gold/platinum laurels from the videos */
.classic-rush-ui .profile-card.status-vip-gold::before,
.classic-rush-ui .profile-card.status-vip-gold::after,
.classic-rush-ui .profile-card.status-vip-platinum::before,
.classic-rush-ui .profile-card.status-vip-platinum::after,
.classic-rush-ui .avatar-stage.status-vip-gold::before,
.classic-rush-ui .avatar-stage.status-vip-gold::after,
.classic-rush-ui .avatar-stage.status-vip-platinum::before,
.classic-rush-ui .avatar-stage.status-vip-platinum::after,
.classic-rush-ui .status-preview.status-vip-gold::before,
.classic-rush-ui .status-preview.status-vip-gold::after,
.classic-rush-ui .status-preview.status-vip-platinum::before,
.classic-rush-ui .status-preview.status-vip-platinum::after {
  content:none !important;
  display:none !important;
}
.classic-rush-ui .rank-wreath {
  position:absolute;
  display:none;
  pointer-events:none;
  object-fit:contain;
  z-index:2;
  transform-origin:50% 76%;
}
.classic-rush-ui .rank-wreath--inline { display:block; }
.classic-rush-ui .profile-card.status-vip-gold > .rank-wreath--gold,
.classic-rush-ui .profile-card.status-vip-platinum > .rank-wreath--platinum,
.classic-rush-ui .avatar-stage.status-vip-gold > .rank-wreath--gold,
.classic-rush-ui .avatar-stage.status-vip-platinum > .rank-wreath--platinum,
.classic-rush-ui .status-preview.status-vip-gold > .rank-wreath--gold,
.classic-rush-ui .status-preview.status-vip-platinum > .rank-wreath--platinum { display:block; }
.classic-rush-ui .rank-wreath--platinum { filter:drop-shadow(0 5px 4px rgba(0,0,0,.58)) brightness(1.05); }
.classic-rush-ui .rank-wreath--gold { filter:drop-shadow(0 5px 4px rgba(0,0,0,.58)); }

/* profile block copies the small avatar / black balance panel in the video */
.classic-rush-ui .profile-card,
.classic-rush-ui .profile-card.is-user {
  left:0;
  bottom:0;
  width:190px;
  height:126px;
  overflow:visible;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.classic-rush-ui .profile-card::before { content:none; }
.classic-rush-ui .profile-card .profile-avatar {
  left:48px;
  top:2px;
  width:78px;
  height:78px;
  z-index:4;
  border:2px solid rgba(240,250,255,.85);
  border-radius:18px 18px 9px 9px;
  box-shadow:0 6px 7px rgba(0,0,0,.52),inset 0 3px 4px rgba(255,255,255,.55);
}
.classic-rush-ui .profile-card .rank-wreath {
  left:4px;
  top:-28px;
  width:168px;
  height:137px;
}
.classic-rush-ui .profile-card strong {
  left:29px;
  bottom:33px;
  min-width:133px;
  max-width:145px;
  height:27px;
  padding:1px 8px;
  border:3px solid #e0c920;
  border-radius:8px;
  z-index:8;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:#fff;
  background:#103849;
  font-size:14px;
  line-height:19px;
  text-align:center;
  text-shadow:0 1px 2px #000;
}
.classic-rush-ui .profile-card em {
  left:0;
  right:0;
  bottom:0;
  height:38px;
  border-radius:0 0 28px 28px;
  z-index:7;
  color:#62ff20;
  font-size:25px;
  line-height:36px;
  background:#020303;
  box-shadow:0 5px 8px rgba(0,0,0,.38);
}
.classic-rush-ui .profile-card.status-vip-gold strong { color:#ffdd3e;border-color:#e0ba19;background:#162f3d; }
.classic-rush-ui .profile-card.status-vip-platinum strong {
  color:#f9ffff;
  border-color:#e6f8ff;
  background:linear-gradient(90deg,#203e4e,#0a2838 45%,#486573 52%,#0a2838 60%,#203e4e);
  background-size:220% 100%;
  animation:classicPlatinumNick 2.6s linear infinite;
}
@keyframes classicPlatinumNick { to { background-position:-220% 0; } }

.classic-rush-ui .avatar-stage .rank-wreath { left:-18px;top:-12px;width:208px;height:172px; }
.classic-rush-ui .status-preview .rank-wreath { left:42px;top:4px;width:166px;height:137px; }
.classic-rush-ui .avatar-stage .profile-avatar--large,
.classic-rush-ui .status-preview .profile-avatar { z-index:4; }

/* seat wreaths: poker and durak */
.classic-rush-ui .poker-seat,
.classic-rush-ui .durak-seat { overflow:visible; }
.classic-rush-ui .poker-seat .rank-wreath--poker {
  left:-34px;
  top:-37px;
  width:185px;
  height:145px;
  z-index:1;
}
.classic-rush-ui .poker-seat .poker-avatar { position:relative;z-index:3; }
.classic-rush-ui .poker-seat .seat-nick { position:relative;z-index:5; }
.classic-rush-ui .durak-seat .rank-wreath--durak {
  left:-31px;
  top:-36px;
  width:177px;
  height:143px;
  z-index:1;
}
.classic-rush-ui .durak-seat .durak-avatar { position:relative;z-index:3; }
.classic-rush-ui .durak-seat .seat-nick { position:relative;z-index:5; }

/* lobby table view */
.classic-rush-ui .screen--lobby h1 {
  top:64px;
  color:#fff6d2;
  font-size:19px;
  text-transform:none;
}
.classic-rush-ui .lobby-table-wrap {
  left:35px;
  top:95px;
  width:825px;
  height:503px;
  border:2px solid rgba(11,158,207,.62);
  border-radius:2px;
  background:linear-gradient(180deg,rgba(36,107,151,.88),rgba(29,80,119,.9));
  box-shadow:inset 0 0 15px rgba(0,0,0,.28),0 6px 10px rgba(0,0,0,.22);
}
.classic-rush-ui .lobby-table th {
  height:37px;
  color:#ffe54f;
  font-size:13px;
  background:#0b4059;
  border-color:rgba(7,146,196,.55);
}
.classic-rush-ui .lobby-table td {
  height:31px;
  color:#d7eef7;
  font-size:13px;
  background:rgba(52,115,161,.58);
  border-color:rgba(10,146,194,.42);
}
.classic-rush-ui .lobby-side { right:23px;top:68px;width:230px;bottom:118px; }
.classic-rush-ui .create-table {
  height:53px;
  border-radius:3px 3px 15px 15px;
  color:#873000;
  font-size:16px;
  background:linear-gradient(#fff26b,#ffbd1c 52%,#d57c00);
}
.classic-rush-ui .table-info { height:157px;font-size:13px;background:rgba(38,86,126,.96); }
.classic-rush-ui .player-list { top:255px;background:#010202;border-color:#078ec2; }
.classic-rush-ui .lobby-back { width:88px;height:72px;font-size:22px; }

/* chat and modal panels */
.classic-rush-ui .club-chat-main,
.classic-rush-ui .club-chat-side,
.classic-rush-ui .modal__box {
  background:
    linear-gradient(180deg,rgba(17,94,124,.96),rgba(5,47,70,.98));
  border-color:rgba(7,170,222,.72);
  box-shadow:0 12px 24px rgba(0,0,0,.48),inset 0 0 24px rgba(0,0,0,.18);
}
.classic-rush-ui .club-chat-title,
.classic-rush-ui .club-chat-online-title {
  background:linear-gradient(#2eaacb,#0e6585);
  text-shadow:0 2px 2px #00202d;
}
.classic-rush-ui .club-chat-history,
.classic-rush-ui .club-chat-users,
.classic-rush-ui .club-chat-form input {
  background:rgba(3,39,57,.82);
}

/* table right panel closer to the old client */
.classic-rush-ui .room-panel { background:linear-gradient(180deg,#075071,#073e5b); }
.classic-rush-ui .room-list {
  border-color:#0698ca;
  border-radius:9px;
  background:#010202;
  box-shadow:inset 0 0 9px rgba(0,0,0,.85);
}
.classic-rush-ui .tabs-mini button {
  border:1px solid #0a7da8;
  color:#e9fbff;
  background:linear-gradient(#1a8fb5,#075d80);
  text-shadow:0 1px 1px #001c27;
}
.classic-rush-ui .chat-box { background:#05364f;border-color:#078fbe; }
.classic-rush-ui .chat-form input { background:#173b4b;border-color:#078bb8;color:#eafaff; }
.classic-rush-ui .chat-form button { background:radial-gradient(circle,#b9ff4b 0 52%,#54b500 54%); }
.classic-rush-ui .big-lobby { border:5px solid #b57906;background:radial-gradient(circle,#20186a 0 55%,#060432 57%);color:#fff36d; }

/* billiards wallpaper and compact reference HUD */
.classic-rush-ui .app--pool-table .table-area.table-area--pool {
  background:
    radial-gradient(ellipse at 50% 45%,rgba(255,255,255,.03),transparent 55%),
    repeating-radial-gradient(ellipse at 20% 30%,transparent 0 7px,rgba(219,235,239,.035) 8px 9px,transparent 10px 17px),
    linear-gradient(135deg,#436478,#28495d 48%,#597284);
  box-shadow:inset 0 0 26px rgba(0,0,0,.38);
}
.classic-rush-ui .app--pool-table .pool-topbar {
  left:10px !important;
  right:10px !important;
  top:8px !important;
  height:126px !important;
  display:block !important;
  overflow:visible !important;
}
.classic-rush-ui .app--pool-table .pool-player-badge {
  position:absolute;
  top:-4px;
  width:130px;
  height:124px;
  z-index:12;
  text-align:center;
  overflow:visible;
}
.classic-rush-ui .app--pool-table .pool-player-badge--left { left:0; }
.classic-rush-ui .app--pool-table .pool-player-badge--right { right:0; }
.classic-rush-ui .app--pool-table .pool-player-portrait {
  position:absolute;
  left:36px;
  top:8px;
  width:59px;
  height:65px;
  z-index:4;
  overflow:hidden;
  border:2px solid rgba(244,249,250,.85);
  border-radius:14px 14px 6px 6px;
  background:
    radial-gradient(circle at 50% 25%,#f2c49b 0 13px,transparent 14px),
    radial-gradient(ellipse at 50% 92%,#b77d59 0 30px,transparent 31px),
    linear-gradient(#d9eef4,#758c96);
  box-shadow:0 5px 6px rgba(0,0,0,.5);
}
.classic-rush-ui .app--pool-table .pool-player-portrait--right {
  background:
    radial-gradient(circle at 50% 25%,#f0c79e 0 13px,transparent 14px),
    radial-gradient(ellipse at 50% 92%,#d5d9db 0 30px,transparent 31px),
    linear-gradient(#f5fbff,#8ea3ad);
}
.classic-rush-ui .app--pool-table .pool-player-badge .rank-wreath--pool {
  left:-2px;
  top:-24px;
  width:135px;
  height:112px;
  z-index:3;
}
.classic-rush-ui .app--pool-table .pool-rank-icons {
  position:absolute;
  left:25px;
  right:25px;
  top:68px;
  z-index:7;
  display:flex;
  justify-content:center;
  gap:2px;
}
.classic-rush-ui .app--pool-table .pool-rank-icons i {
  width:12px;
  height:11px;
  border-radius:3px;
  background:radial-gradient(circle at 50% 32%,#fff26d 0 2px,#e33425 3px 6px,#9b160e 7px);
  box-shadow:0 1px 2px rgba(0,0,0,.45);
}
.classic-rush-ui .app--pool-table .pool-player-badge > b,
.classic-rush-ui .app--pool-table .pool-player-badge > em {
  position:absolute;
  left:12px;
  right:12px;
  z-index:8;
  display:block;
  overflow:hidden;
  border:2px solid #d9c21d;
  border-radius:8px;
  white-space:nowrap;
  text-overflow:ellipsis;
  background:#102f42;
  color:#f7fbff;
  font-style:normal;
  text-shadow:0 1px 2px #000;
}
.classic-rush-ui .app--pool-table .pool-player-badge > b { top:81px;height:22px;font-size:12px;line-height:17px; }
.classic-rush-ui .app--pool-table .pool-player-badge > em { top:105px;height:20px;font-size:11px;line-height:15px;color:#e9fbff; }
.classic-rush-ui .app--pool-table .pool-player-badge.status-vip-platinum > b { border-color:#eefcff;color:#fff;box-shadow:0 0 7px #d8f7ff; }
.classic-rush-ui .app--pool-table .pool-player-badge.status-vip-gold > b { border-color:#ffd62c;color:#ffe452;box-shadow:0 0 7px rgba(255,188,22,.55); }
.classic-rush-ui .app--pool-table .pool-player-badge.is-turn > b { animation:poolBadgeTurn .9s ease-in-out infinite; }
@keyframes poolBadgeTurn { 50% { filter:brightness(1.35); } }
.classic-rush-ui .app--pool-table .pool-player-badge.is-empty { opacity:.45; }
.classic-rush-ui .app--pool-table .pool-player-badge.is-empty .pool-rank-icons { display:none; }

.classic-rush-ui .app--pool-table .pool-power-panel {
  position:absolute !important;
  left:142px !important;
  top:13px !important;
  width:320px !important;
  height:88px !important;
  min-width:0 !important;
  padding:7px 12px 6px !important;
  border-radius:4px 4px 15px 15px !important;
}
.classic-rush-ui .app--pool-table .pool-power-scale { width:230px !important; }
.classic-rush-ui .app--pool-table .pool-power-heading { font-size:14px !important; }
.classic-rush-ui .app--pool-table .pool-hud-status { bottom:10px !important;font-size:9px !important; }
.classic-rush-ui .app--pool-table .pool-hud-substatus { bottom:1px !important;font-size:7px !important; }
.classic-rush-ui .app--pool-table .pool-potted-rack {
  position:absolute !important;
  left:475px !important;
  top:13px !important;
  width:218px !important;
  height:88px !important;
  min-width:0 !important;
}
.classic-rush-ui .app--pool-table .pool-rack-body { grid-template-columns:35px 1fr;height:52px; }
.classic-rush-ui .app--pool-table .pool-rack-ball { flex-basis:15px;width:15px;height:15px; }
.classic-rush-ui .app--pool-table .pool-rack-title { font-size:9px; }
.classic-rush-ui .app--pool-table .pool-felt-frame { top:139px !important; }

/* compact profile at the pool table keeps its wreath */
.classic-rush-ui .app--pool-table .profile-card .rank-wreath {
  left:-8px;
  top:-27px;
  width:147px;
  height:119px;
}
.classic-rush-ui .app--pool-table .profile-card .profile-avatar { z-index:4; }

@media (prefers-reduced-motion: reduce) {
  .classic-rush-ui .profile-card.status-vip-platinum strong,
  .classic-rush-ui .app--pool-table .pool-player-badge.is-turn > b { animation:none; }
}

/* Platinum glint: a sharp white flare walks over the silver leaves, matching
   the short flashes visible in the reference videos. */
.classic-rush-ui .profile-card.status-vip-platinum::after,
.classic-rush-ui .avatar-stage.status-vip-platinum::after,
.classic-rush-ui .status-preview.status-vip-platinum::after,
.classic-rush-ui .poker-seat.status-vip-platinum::after,
.classic-rush-ui .durak-seat.status-vip-platinum::after,
.classic-rush-ui .pool-player-badge.status-vip-platinum::after {
  content:"✦" !important;
  position:absolute;
  display:block !important;
  z-index:12;
  width:18px;
  height:18px;
  color:#fff;
  font:900 19px/18px Georgia,serif;
  text-align:center;
  pointer-events:none;
  opacity:0;
  filter:drop-shadow(0 0 3px #e3fbff) drop-shadow(0 0 7px #8cddff);
  animation:classicPlatinumGlint 2.35s linear infinite;
}
.classic-rush-ui .profile-card.status-vip-platinum::after { left:20px;top:20px; }
.classic-rush-ui .avatar-stage.status-vip-platinum::after { left:8px;top:30px; }
.classic-rush-ui .status-preview.status-vip-platinum::after { left:48px;top:28px; }
.classic-rush-ui .poker-seat.status-vip-platinum::after { left:-10px;top:-8px; }
.classic-rush-ui .durak-seat.status-vip-platinum::after { left:-8px;top:-8px; }
.classic-rush-ui .pool-player-badge.status-vip-platinum::after { left:7px;top:5px; }

@keyframes classicPlatinumGlint {
  0%,8% { opacity:0; transform:translate(0,38px) scale(.35) rotate(0deg); }
  11% { opacity:1; transform:translate(2px,20px) scale(1.25) rotate(28deg); }
  15% { opacity:0; transform:translate(18px,2px) scale(.45) rotate(58deg); }
  34%,39% { opacity:0; transform:translate(65px,-8px) scale(.35) rotate(90deg); }
  42% { opacity:1; transform:translate(93px,0) scale(1.15) rotate(118deg); }
  46% { opacity:0; transform:translate(116px,24px) scale(.42) rotate(148deg); }
  67%,72% { opacity:0; transform:translate(112px,50px) scale(.35) rotate(180deg); }
  75% { opacity:1; transform:translate(91px,68px) scale(1.05) rotate(208deg); }
  79%,100% { opacity:0; transform:translate(63px,80px) scale(.4) rotate(240deg); }
}
.classic-rush-ui .profile-card.status-vip-platinum > .rank-wreath--platinum,
.classic-rush-ui .avatar-stage.status-vip-platinum > .rank-wreath--platinum,
.classic-rush-ui .status-preview.status-vip-platinum > .rank-wreath--platinum,
.classic-rush-ui .poker-seat.status-vip-platinum > .rank-wreath--platinum,
.classic-rush-ui .durak-seat.status-vip-platinum > .rank-wreath--platinum,
.classic-rush-ui .pool-player-badge.status-vip-platinum > .rank-wreath--platinum {
  animation:classicPlatinumWreath 2.35s ease-in-out infinite;
}
@keyframes classicPlatinumWreath {
  0%,100% { filter:drop-shadow(0 5px 4px rgba(0,0,0,.58)) brightness(.98); }
  12%,43%,76% { filter:drop-shadow(0 5px 4px rgba(0,0,0,.58)) brightness(1.22) drop-shadow(0 0 5px rgba(220,249,255,.55)); }
  20%,53%,86% { filter:drop-shadow(0 5px 4px rgba(0,0,0,.58)) brightness(1.02); }
}

/* Final reference pass: compact pool profile with the same laurel framing,
   nickname plate and black balance panel used by the old client. */
.classic-rush-ui .app--pool-table .bottom-bar {
  left:14px !important;
  bottom:7px !important;
  width:140px !important;
  height:124px !important;
  overflow:visible !important;
  z-index:48 !important;
}
.classic-rush-ui .app--pool-table .profile-card,
.classic-rush-ui .app--pool-table .profile-card.is-user,
.classic-rush-ui .app--pool-table .profile-card.is-guest {
  width:140px !important;
  height:122px !important;
  overflow:visible !important;
  isolation:isolate;
}
.classic-rush-ui .app--pool-table .profile-card .rank-wreath {
  left:1px !important;
  top:-16px !important;
  width:138px !important;
  height:113px !important;
  z-index:3 !important;
}
.classic-rush-ui .app--pool-table .profile-card .profile-avatar {
  left:38px !important;
  top:12px !important;
  width:64px !important;
  height:62px !important;
  z-index:4 !important;
}
.classic-rush-ui .app--pool-table .profile-card strong {
  display:block !important;
  position:absolute;
  left:8px !important;
  right:8px !important;
  top:72px !important;
  bottom:auto !important;
  min-width:0 !important;
  height:21px !important;
  padding:0 5px !important;
  border:2px solid #d8c126 !important;
  border-radius:7px !important;
  overflow:hidden;
  background:#0c2c3d !important;
  color:#fff36b !important;
  font-size:11px !important;
  line-height:17px !important;
  white-space:nowrap;
  text-overflow:ellipsis;
  text-shadow:0 1px 2px #000;
  box-shadow:0 2px 4px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.18);
  z-index:8 !important;
}
.classic-rush-ui .app--pool-table .profile-card.status-vip-platinum strong {
  border-color:#e9fbff !important;
  color:#fff !important;
  box-shadow:0 0 7px rgba(211,247,255,.9),0 2px 4px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.28);
}
.classic-rush-ui .app--pool-table .profile-card em,
.classic-rush-ui .app--pool-table .profile-card.is-guest em {
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:28px !important;
  font-size:21px !important;
  line-height:24px !important;
  z-index:7 !important;
}
.classic-rush-ui .app--pool-table .profile-card.status-vip-platinum::after {
  left:5px !important;
  top:0 !important;
}

/* Brighter, brief flashes: platinum should visibly sparkle, not merely pulse. */
.classic-rush-ui .profile-card.status-vip-platinum::after,
.classic-rush-ui .avatar-stage.status-vip-platinum::after,
.classic-rush-ui .status-preview.status-vip-platinum::after,
.classic-rush-ui .poker-seat.status-vip-platinum::after,
.classic-rush-ui .durak-seat.status-vip-platinum::after,
.classic-rush-ui .pool-player-badge.status-vip-platinum::after {
  width:22px;
  height:22px;
  color:#fff;
  font-size:23px;
  line-height:22px;
  text-shadow:0 0 2px #fff,0 0 7px #dffaff,0 0 13px #71ceff;
  filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 8px #8cddff);
}

@media (prefers-reduced-motion: reduce) {
  .classic-rush-ui .profile-card.status-vip-platinum > .rank-wreath--platinum,
  .classic-rush-ui .avatar-stage.status-vip-platinum > .rank-wreath--platinum,
  .classic-rush-ui .status-preview.status-vip-platinum > .rank-wreath--platinum,
  .classic-rush-ui .poker-seat.status-vip-platinum > .rank-wreath--platinum,
  .classic-rush-ui .durak-seat.status-vip-platinum > .rank-wreath--platinum,
  .classic-rush-ui .pool-player-badge.status-vip-platinum > .rank-wreath--platinum,
  .classic-rush-ui .profile-card.status-vip-platinum::after,
  .classic-rush-ui .avatar-stage.status-vip-platinum::after,
  .classic-rush-ui .status-preview.status-vip-platinum::after,
  .classic-rush-ui .poker-seat.status-vip-platinum::after,
  .classic-rush-ui .durak-seat.status-vip-platinum::after,
  .classic-rush-ui .pool-player-badge.status-vip-platinum::after {
    animation:none !important;
  }
}

/* === v1.1: shared table avatars + reference player-frame shimmer === */

/* The avatar shown at a table now uses the same neutral portrait construction
   and the same uploaded picture as the compact profile in the main interface. */
.classic-rush-ui .poker-avatar,
.classic-rush-ui .durak-avatar,
.classic-rush-ui .pool-player-portrait {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, #f5fbff 0%, #d3e0e6 44%, #8499a3 100%);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-color: rgba(238, 250, 255, .94);
  box-shadow:
    0 6px 8px rgba(0, 0, 0, .48),
    inset 0 3px 4px rgba(255, 255, 255, .62),
    inset 0 -10px 14px rgba(18, 46, 60, .18);
}
.classic-rush-ui .poker-avatar::before,
.classic-rush-ui .durak-avatar::before,
.classic-rush-ui .pool-player-portrait::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 14%;
  width: 35%;
  aspect-ratio: 1;
  transform: translateX(-50%);
  border-radius: 50%;
  background: linear-gradient(#fbfdff, #cbd9e0);
  box-shadow: 0 2px 2px rgba(0, 0, 0, .18);
}
.classic-rush-ui .poker-avatar::after,
.classic-rush-ui .durak-avatar::after,
.classic-rush-ui .pool-player-portrait::after {
  content: "";
  position: absolute;
  left: 17%;
  right: 17%;
  bottom: -13%;
  height: 58%;
  border-radius: 52% 52% 19% 19%;
  background: linear-gradient(#dceaf0, #8fa5af);
  box-shadow: inset 0 4px 5px rgba(255, 255, 255, .36);
}
.classic-rush-ui .poker-avatar.has-image::before,
.classic-rush-ui .poker-avatar.has-image::after,
.classic-rush-ui .durak-avatar.has-image::before,
.classic-rush-ui .durak-avatar.has-image::after,
.classic-rush-ui .pool-player-portrait.has-image::before,
.classic-rush-ui .pool-player-portrait.has-image::after {
  display: none;
}
.classic-rush-ui .poker-seat.is-me .poker-avatar,
.classic-rush-ui .durak-seat.is-me .durak-avatar,
.classic-rush-ui .pool-player-badge.is-turn .pool-player-portrait {
  border-color: #f4fdff;
  box-shadow:
    0 0 10px rgba(223, 249, 255, .72),
    0 6px 8px rgba(0, 0, 0, .48),
    inset 0 3px 4px rgba(255, 255, 255, .62);
}

/* Right-side player rows reproduce the long black name plates from the
   reference client. The number and three action circles remain outside. */
.classic-rush-ui .room-list {
  padding-left: 8px;
  padding-right: 8px;
}
.classic-rush-ui .room-list ol {
  width: 100%;
}
.classic-rush-ui .room-list li {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  height: 25px;
  margin: 5px 0;
  gap: 3px;
  counter-increment: item;
}
.classic-rush-ui .room-list li::before {
  content: counter(item) ".";
  flex: 0 0 19px;
  width: 19px;
  color: #7cff54;
  font-size: 14px;
  line-height: 23px;
  text-align: right;
  text-shadow: 0 0 5px rgba(99, 255, 67, .36), 0 1px 1px #000;
}
.classic-rush-ui .room-list .room-user-name {
  position: relative;
  float: none;
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  min-width: 0;
  width: auto;
  height: 23px;
  margin: 0;
  padding: 0 21px;
  overflow: hidden;
  border: 2px solid #738993;
  border-radius: 8px;
  background: linear-gradient(180deg, #0d1519, #010304 62%, #080d10);
  color: #dff9ff;
  font-size: 13px;
  font-weight: 950;
  line-height: 19px;
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-shadow: 0 1px 2px #000;
  box-shadow:
    0 2px 3px rgba(0, 0, 0, .66),
    inset 0 1px 0 rgba(255, 255, 255, .16),
    inset 0 -1px 0 rgba(0, 0, 0, .65);
  isolation: isolate;
}
.classic-rush-ui .room-list li > span:not(.room-user-name) {
  float: none;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 0 0 0 1px;
}
.classic-rush-ui .room-list .room-skull {
  float: none;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 0 0 0 1px;
  padding: 0;
}
.classic-rush-ui .room-list .room-user-name.status-club {
  border-color: #42c6e8;
  color: #7cecff;
}
.classic-rush-ui .room-list .room-user-name.status-vip {
  border-color: #b871ea;
  color: #e2a9ff;
}
.classic-rush-ui .room-list .room-user-name.status-vip-gold {
  border-color: transparent;
  color: #fff16a;
  background:
    linear-gradient(180deg, #171006, #030201 62%, #0d0802) padding-box,
    linear-gradient(105deg, #8a5a00, #fff2a0 18%, #d99700 36%, #fff5b7 54%, #8b5900 75%, #ffd34a) border-box;
  background-size: 100% 100%, 260% 100%;
  animation: classicRoomGoldFrame 3s linear infinite;
  box-shadow: 0 0 7px rgba(255, 195, 37, .48), inset 0 1px 0 rgba(255,255,255,.18);
}
.classic-rush-ui .room-list .room-user-name.status-vip-platinum {
  border-color: transparent;
  color: #fff;
  background:
    linear-gradient(180deg, #10171a, #010304 60%, #0b1114) padding-box,
    linear-gradient(104deg,
      #54636a 0%,
      #edfaff 13%,
      #788b93 24%,
      #ffffff 39%,
      #5c717b 53%,
      #dff8ff 69%,
      #6b7d85 82%,
      #ffffff 100%) border-box;
  background-size: 100% 100%, 320% 100%;
  text-shadow: 0 1px 2px #000, 0 0 5px rgba(222, 249, 255, .76);
  box-shadow:
    0 0 8px rgba(217, 247, 255, .76),
    0 2px 3px rgba(0,0,0,.68),
    inset 0 1px 0 rgba(255,255,255,.32);
  animation: classicRoomPlatinumFrame 2.45s linear infinite;
}
.classic-rush-ui .room-list .room-user-name.status-vip-platinum::after {
  content: "✦";
  position: absolute;
  left: -16px;
  top: 1px;
  z-index: 3;
  width: 18px;
  height: 18px;
  color: #fff;
  font: 900 18px/18px Georgia, serif;
  opacity: 0;
  pointer-events: none;
  text-shadow: 0 0 2px #fff, 0 0 7px #dffaff, 0 0 12px #77d7ff;
  animation: classicRoomFrameStar 2.45s linear infinite;
}
@keyframes classicRoomPlatinumFrame {
  to { background-position: 0 0, -320% 0; }
}
@keyframes classicRoomGoldFrame {
  to { background-position: 0 0, -260% 0; }
}
@keyframes classicRoomFrameStar {
  0%, 8% { left: -14px; opacity: 0; transform: scale(.35) rotate(0deg); }
  12% { opacity: 1; transform: scale(1.15) rotate(35deg); }
  19% { opacity: 0; }
  42% { left: 42%; opacity: 0; transform: scale(.4) rotate(120deg); }
  47% { opacity: 1; transform: scale(1.05) rotate(155deg); }
  54% { opacity: 0; }
  76% { left: calc(100% - 5px); opacity: 0; transform: scale(.35) rotate(230deg); }
  80% { opacity: 1; transform: scale(1.1) rotate(270deg); }
  88%, 100% { left: calc(100% + 12px); opacity: 0; transform: scale(.4) rotate(320deg); }
}

/* Moderator mark: neon pink, and absolutely positioned inside name plates so
   the nickname itself remains exactly centered. */
.classic-rush-ui .nick-bolt,
.classic-rush-ui .chat-mod-bolt,
.classic-rush-ui .profile-card .mod-bolt {
  color: #ff70c8;
  font-style: normal;
  text-shadow:
    0 0 2px #fff,
    0 0 5px #ff67c7,
    0 0 10px #ff149f,
    0 1px 1px #4b002c;
  filter: drop-shadow(0 0 3px rgba(255, 54, 174, .72));
  animation: classicPinkBolt 1.55s ease-in-out infinite;
}
.classic-rush-ui .profile-card .mod-bolt {
  color: #ff61c1;
  border-color: #ffb7e3;
  background:
    radial-gradient(circle at 34% 29%, #fff 0 8%, #ffb9e4 20%, #f344ad 58%, #8d075b 100%);
  box-shadow:
    0 3px 6px rgba(0,0,0,.55),
    0 0 8px rgba(255, 96, 196, .86),
    0 0 16px rgba(255, 21, 154, .54);
}
.classic-rush-ui .profile-card.is-moderator strong::before {
  color: #ff70c8;
  text-shadow: 0 0 2px #fff, 0 0 7px #ff3faf, 0 1px 1px #000;
}
.classic-rush-ui .room-user-name .nick-bolt,
.classic-rush-ui .seat-nick .nick-bolt,
.classic-rush-ui .pool-player-badge > b .nick-bolt {
  position: absolute;
  left: 5px;
  top: 50%;
  z-index: 5;
  margin: 0;
  transform: translateY(-50%) rotate(-10deg);
  font-size: 13px;
  line-height: 1;
}
.classic-rush-ui .seat-nick,
.classic-rush-ui .pool-player-badge > b {
  position: relative;
  text-align: center;
}
@keyframes classicPinkBolt {
  0%, 100% { filter: brightness(.92) drop-shadow(0 0 2px rgba(255, 54, 174, .62)); }
  48% { filter: brightness(1.34) drop-shadow(0 0 6px rgba(255, 92, 199, .96)); }
  55% { filter: brightness(1.08) drop-shadow(0 0 3px rgba(255, 54, 174, .72)); }
}

@media (prefers-reduced-motion: reduce) {
  .classic-rush-ui .room-list .room-user-name.status-vip-gold,
  .classic-rush-ui .room-list .room-user-name.status-vip-platinum,
  .classic-rush-ui .room-list .room-user-name.status-vip-platinum::after,
  .classic-rush-ui .nick-bolt,
  .classic-rush-ui .chat-mod-bolt,
  .classic-rush-ui .profile-card .mod-bolt {
    animation: none !important;
  }
}

/* Pool portraits had a more specific old-client selector; keep the new shared
   avatar appearance stronger than that legacy rule. */
.classic-rush-ui .app--pool-table .pool-player-portrait {
  background:
    linear-gradient(180deg, #f5fbff 0%, #d3e0e6 44%, #8499a3 100%);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.classic-rush-ui .app--pool-table .pool-player-portrait.has-image {
  background-position: center;
  background-size: cover;
}

/* === v1.2: cleaner status names, platinum dust and polished chat scrollbars === */

/* In the right-side player list only Gold and Platinum use a decorative plate.
   Normal, Club and VIP keep their status colour, but sit directly on the panel. */
.classic-rush-ui .room-list .room-user-name.status-normal,
.classic-rush-ui .room-list .room-user-name.status-club,
.classic-rush-ui .room-list .room-user-name.status-vip {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  padding-left: 5px;
  padding-right: 5px;
  overflow: visible;
}
.classic-rush-ui .room-list .room-user-name.status-normal { color:#f2fbff; }
.classic-rush-ui .room-list .room-user-name.status-club {
  color:#67e5ff;
  text-shadow:0 1px 2px #000,0 0 7px rgba(73,218,255,.72);
}
.classic-rush-ui .room-list .room-user-name.status-vip {
  color:#e29bff;
  text-shadow:0 1px 2px #000,0 0 7px rgba(218,111,255,.7);
}

/* A field of tiny silver flashes runs around the whole Platinum name frame. */
.classic-rush-ui .room-list .room-user-name.status-vip-platinum::before {
  content:"";
  position:absolute;
  inset:-1px;
  z-index:4;
  border-radius:8px;
  pointer-events:none;
  background:
    radial-gradient(circle at 4% 22%, #fff 0 1px, rgba(202,244,255,.85) 1.2px 1.8px, transparent 2.2px),
    radial-gradient(circle at 17% 4%, #fff 0 1px, rgba(182,233,255,.7) 1.2px 1.8px, transparent 2.2px),
    radial-gradient(circle at 31% 94%, #fff 0 1px, rgba(216,250,255,.78) 1.2px 1.8px, transparent 2.2px),
    radial-gradient(circle at 45% 7%, #fff 0 1.1px, rgba(192,239,255,.82) 1.3px 2px, transparent 2.4px),
    radial-gradient(circle at 58% 95%, #fff 0 1px, rgba(212,249,255,.75) 1.2px 1.8px, transparent 2.2px),
    radial-gradient(circle at 72% 5%, #fff 0 1px, rgba(182,233,255,.78) 1.2px 1.9px, transparent 2.3px),
    radial-gradient(circle at 86% 94%, #fff 0 1.1px, rgba(213,249,255,.82) 1.3px 2px, transparent 2.4px),
    radial-gradient(circle at 97% 35%, #fff 0 1px, rgba(190,239,255,.85) 1.2px 1.9px, transparent 2.3px),
    radial-gradient(circle at 8% 79%, #fff 0 .9px, rgba(211,248,255,.75) 1.1px 1.7px, transparent 2.1px),
    radial-gradient(circle at 93% 72%, #fff 0 .9px, rgba(207,246,255,.74) 1.1px 1.7px, transparent 2.1px);
  opacity:.38;
  filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 5px rgba(99,207,255,.88));
  animation:classicPlatinumFrameDust 1.7s steps(1,end) infinite;
}
.classic-rush-ui .room-list .room-user-name.status-vip-platinum::after {
  width:12px;
  height:12px;
  font-size:12px;
  line-height:12px;
  text-shadow:0 0 2px #fff,0 0 5px #dffaff,0 0 9px #68d2ff;
  animation-duration:2.1s;
}
@keyframes classicPlatinumFrameDust {
  0%,100% { opacity:.26; filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 4px rgba(99,207,255,.66)); }
  18% { opacity:.88; }
  37% { opacity:.42; transform:translateX(.4px); }
  54% { opacity:1; filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 7px rgba(133,222,255,.95)); }
  73% { opacity:.3; transform:translateX(-.4px); }
  86% { opacity:.76; }
}

/* In both club chat and table chat, status is shown only by nickname colour.
   No Gold/Platinum capsule or frame is drawn around chat authors. */
.classic-rush-ui .club-chat-message .status-nick,
.classic-rush-ui .chat-box .status-nick,
.classic-rush-ui .table-chat-message .status-nick {
  margin-right:4px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  animation:none !important;
  filter:none !important;
}
.classic-rush-ui .club-chat-message .status-nick.status-normal,
.classic-rush-ui .chat-box .status-nick.status-normal { color:#f2fbff; }
.classic-rush-ui .club-chat-message .status-nick.status-club,
.classic-rush-ui .chat-box .status-nick.status-club { color:#67e5ff; }
.classic-rush-ui .club-chat-message .status-nick.status-vip,
.classic-rush-ui .chat-box .status-nick.status-vip { color:#e29bff; }
.classic-rush-ui .club-chat-message .status-nick.status-vip-gold,
.classic-rush-ui .chat-box .status-nick.status-vip-gold {
  color:#ffe35a;
  text-shadow:0 1px 2px #000,0 0 7px rgba(255,177,20,.8);
}
.classic-rush-ui .club-chat-message .status-nick.status-vip-platinum,
.classic-rush-ui .chat-box .status-nick.status-vip-platinum {
  color:#f7fdff;
  text-shadow:0 1px 2px #000,0 0 7px rgba(205,245,255,.82);
}

/* Online-list rows retain one neutral club-chat style, regardless of status. */
.classic-rush-ui .chat-user-row.status-vip-gold,
.classic-rush-ui .chat-user-row.status-vip-platinum {
  border:1px solid rgba(160,230,255,.48) !important;
  background:linear-gradient(90deg,rgba(4,62,89,.75),rgba(8,92,119,.55)) !important;
  box-shadow:inset 0 0 10px rgba(0,0,0,.16) !important;
  animation:none !important;
}
.classic-rush-ui .chat-user-row.status-vip-platinum b { animation:none !important; }

/* Slim metallic scrollbars instead of the browser's large white scrollbar. */
.classic-rush-ui .club-chat-history,
.classic-rush-ui .club-chat-users,
.classic-rush-ui .chat-box {
  scrollbar-width:thin;
  scrollbar-color:#2bbde5 rgba(1,29,43,.7);
}
.classic-rush-ui .club-chat-history::-webkit-scrollbar,
.classic-rush-ui .club-chat-users::-webkit-scrollbar,
.classic-rush-ui .chat-box::-webkit-scrollbar {
  width:10px;
}
.classic-rush-ui .club-chat-history::-webkit-scrollbar-track,
.classic-rush-ui .club-chat-users::-webkit-scrollbar-track,
.classic-rush-ui .chat-box::-webkit-scrollbar-track {
  margin:4px 0;
  border:1px solid rgba(36,151,188,.22);
  border-radius:10px;
  background:linear-gradient(90deg,rgba(0,20,31,.9),rgba(7,50,68,.74),rgba(0,20,31,.9));
  box-shadow:inset 0 0 5px rgba(0,0,0,.72);
}
.classic-rush-ui .club-chat-history::-webkit-scrollbar-thumb,
.classic-rush-ui .club-chat-users::-webkit-scrollbar-thumb,
.classic-rush-ui .chat-box::-webkit-scrollbar-thumb {
  min-height:34px;
  border:2px solid rgba(2,48,68,.9);
  border-radius:10px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.42),transparent 24% 72%,rgba(255,255,255,.18)),
    linear-gradient(180deg,#63e4f6 0%,#1fb6dc 45%,#087fa9 100%);
  box-shadow:0 0 6px rgba(39,204,245,.58),inset 0 1px 0 rgba(255,255,255,.62),inset 0 -2px 3px rgba(0,41,59,.45);
}
.classic-rush-ui .club-chat-history::-webkit-scrollbar-thumb:hover,
.classic-rush-ui .club-chat-users::-webkit-scrollbar-thumb:hover,
.classic-rush-ui .chat-box::-webkit-scrollbar-thumb:hover {
  background:
    linear-gradient(90deg,rgba(255,255,255,.58),transparent 24% 72%,rgba(255,255,255,.24)),
    linear-gradient(180deg,#8bf3ff 0%,#32cbea 45%,#0a92bc 100%);
}
.classic-rush-ui .club-chat-history::-webkit-scrollbar-button,
.classic-rush-ui .club-chat-users::-webkit-scrollbar-button,
.classic-rush-ui .chat-box::-webkit-scrollbar-button { display:none; }

/* Many tiny Platinum particles now sit over the laurel. The wreath itself only
   breathes softly; the sparkle field supplies the premium movement. */
.classic-rush-ui .profile-card.status-vip-platinum::before,
.classic-rush-ui .avatar-stage.status-vip-platinum::before,
.classic-rush-ui .status-preview.status-vip-platinum::before,
.classic-rush-ui .poker-seat.status-vip-platinum::before,
.classic-rush-ui .durak-seat.status-vip-platinum::before,
.classic-rush-ui .pool-player-badge.status-vip-platinum::before {
  content:"" !important;
  position:absolute;
  display:block !important;
  z-index:11;
  width:3px;
  height:3px;
  border-radius:50%;
  pointer-events:none;
  background:#fff;
  box-shadow:
    9px 45px 0 0 rgba(255,255,255,.95),
    17px 24px 0 0 rgba(211,247,255,.9),
    28px 10px 0 0 rgba(255,255,255,.88),
    42px 2px 0 0 rgba(184,235,255,.82),
    58px 8px 0 0 rgba(255,255,255,.96),
    74px 0 0 0 rgba(215,248,255,.9),
    91px 8px 0 0 rgba(255,255,255,.92),
    107px 2px 0 0 rgba(184,235,255,.84),
    122px 13px 0 0 rgba(255,255,255,.96),
    133px 29px 0 0 rgba(202,244,255,.88),
    138px 49px 0 0 rgba(255,255,255,.94),
    132px 68px 0 0 rgba(190,239,255,.84),
    120px 83px 0 0 rgba(255,255,255,.94),
    105px 94px 0 0 rgba(207,246,255,.86),
    87px 102px 0 0 rgba(255,255,255,.95),
    68px 106px 0 0 rgba(190,239,255,.84),
    50px 100px 0 0 rgba(255,255,255,.92),
    34px 90px 0 0 rgba(205,245,255,.86),
    21px 75px 0 0 rgba(255,255,255,.94),
    12px 61px 0 0 rgba(186,236,255,.84),
    46px 23px 0 -1px rgba(255,255,255,.9),
    98px 29px 0 -1px rgba(211,248,255,.9),
    112px 62px 0 -1px rgba(255,255,255,.92),
    42px 69px 0 -1px rgba(205,245,255,.88),
    76px 91px 0 -1px rgba(255,255,255,.9);
  opacity:.42;
  filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 5px rgba(89,203,255,.88));
  animation:classicPlatinumWreathDust 1.95s steps(1,end) infinite;
}
.classic-rush-ui .profile-card.status-vip-platinum::before { left:13px;top:-16px; }
.classic-rush-ui .avatar-stage.status-vip-platinum::before { left:4px;top:0;transform:scale(1.16);transform-origin:0 0; }
.classic-rush-ui .status-preview.status-vip-platinum::before { left:52px;top:9px;transform:scale(.88);transform-origin:0 0; }
.classic-rush-ui .poker-seat.status-vip-platinum::before { left:-25px;top:-27px;transform:scale(1.02);transform-origin:0 0; }
.classic-rush-ui .durak-seat.status-vip-platinum::before { left:-23px;top:-27px;transform:scale(.98);transform-origin:0 0; }
.classic-rush-ui .pool-player-badge.status-vip-platinum::before { left:-6px;top:-18px;transform:scale(.78);transform-origin:0 0; }

@keyframes classicPlatinumWreathDust {
  0%,100% { opacity:.24; filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 4px rgba(89,203,255,.66)); }
  14% { opacity:.82; }
  29% { opacity:.34; }
  43% { opacity:1; filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 7px rgba(125,222,255,.98)); }
  58% { opacity:.29; }
  72% { opacity:.88; }
  87% { opacity:.4; }
}
.classic-rush-ui .profile-card.status-vip-platinum > .rank-wreath--platinum,
.classic-rush-ui .avatar-stage.status-vip-platinum > .rank-wreath--platinum,
.classic-rush-ui .status-preview.status-vip-platinum > .rank-wreath--platinum,
.classic-rush-ui .poker-seat.status-vip-platinum > .rank-wreath--platinum,
.classic-rush-ui .durak-seat.status-vip-platinum > .rank-wreath--platinum,
.classic-rush-ui .pool-player-badge.status-vip-platinum > .rank-wreath--platinum {
  animation:classicPlatinumWreathSoft 4.8s ease-in-out infinite !important;
}
@keyframes classicPlatinumWreathSoft {
  0%,100% { filter:drop-shadow(0 5px 4px rgba(0,0,0,.58)) brightness(1.02); }
  50% { filter:drop-shadow(0 5px 4px rgba(0,0,0,.58)) brightness(1.09) drop-shadow(0 0 3px rgba(220,249,255,.36)); }
}

@media (prefers-reduced-motion: reduce) {
  .classic-rush-ui .room-list .room-user-name.status-vip-platinum::before,
  .classic-rush-ui .profile-card.status-vip-platinum::before,
  .classic-rush-ui .avatar-stage.status-vip-platinum::before,
  .classic-rush-ui .status-preview.status-vip-platinum::before,
  .classic-rush-ui .poker-seat.status-vip-platinum::before,
  .classic-rush-ui .durak-seat.status-vip-platinum::before,
  .classic-rush-ui .pool-player-badge.status-vip-platinum::before,
  .classic-rush-ui .profile-card.status-vip-platinum > .rank-wreath--platinum,
  .classic-rush-ui .avatar-stage.status-vip-platinum > .rank-wreath--platinum,
  .classic-rush-ui .status-preview.status-vip-platinum > .rank-wreath--platinum,
  .classic-rush-ui .poker-seat.status-vip-platinum > .rank-wreath--platinum,
  .classic-rush-ui .durak-seat.status-vip-platinum > .rank-wreath--platinum,
  .classic-rush-ui .pool-player-badge.status-vip-platinum > .rank-wreath--platinum {
    animation:none !important;
  }
}

/* === v1.3: identical lobby/chat nameplates + asynchronous platinum sparkles === */

/* Every visible nickname now keeps its text mathematically centered even when
   the moderator bolt or the platinum particle layer is present. */
.classic-rush-ui .status-nick__label {
  position: relative;
  z-index: 3;
  display: block;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  color: inherit;
  line-height: inherit;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Stop the old sweeping highlight. The reference effect is made of many brief,
   independent flashes rather than one continuous moving gloss. */
.classic-rush-ui .room-list .room-user-name.status-vip-platinum,
.classic-rush-ui .player-list .lobby-user-name.status-vip-platinum,
.classic-rush-ui .club-chat-message .chat-author.status-vip-platinum,
.classic-rush-ui .table-chat-message .status-nick.status-vip-platinum,
.classic-rush-ui .chat-user-row .chat-user-name.status-vip-platinum,
.classic-rush-ui .profile-card.status-vip-platinum strong,
.classic-rush-ui .status-preview.status-vip-platinum .status-preview__nick {
  animation: none !important;
  background-position: 0 0 !important;
}
.classic-rush-ui .profile-card.status-vip-platinum > .rank-wreath--platinum,
.classic-rush-ui .avatar-stage.status-vip-platinum > .rank-wreath--platinum,
.classic-rush-ui .status-preview.status-vip-platinum > .rank-wreath--platinum,
.classic-rush-ui .poker-seat.status-vip-platinum > .rank-wreath--platinum,
.classic-rush-ui .durak-seat.status-vip-platinum > .rank-wreath--platinum,
.classic-rush-ui .pool-player-badge.status-vip-platinum > .rank-wreath--platinum {
  animation: none !important;
  filter: drop-shadow(0 5px 4px rgba(0,0,0,.58)) brightness(1.06) !important;
}

/* Retire the previous single travelling star and the synchronized box-shadow
   dust. Real particles below now fire at separate moments. */
.classic-rush-ui .profile-card.status-vip-platinum::before,
.classic-rush-ui .profile-card.status-vip-platinum::after,
.classic-rush-ui .avatar-stage.status-vip-platinum::before,
.classic-rush-ui .avatar-stage.status-vip-platinum::after,
.classic-rush-ui .status-preview.status-vip-platinum::before,
.classic-rush-ui .status-preview.status-vip-platinum::after,
.classic-rush-ui .poker-seat.status-vip-platinum::before,
.classic-rush-ui .poker-seat.status-vip-platinum::after,
.classic-rush-ui .durak-seat.status-vip-platinum::before,
.classic-rush-ui .durak-seat.status-vip-platinum::after,
.classic-rush-ui .pool-player-badge.status-vip-platinum::before,
.classic-rush-ui .pool-player-badge.status-vip-platinum::after,
.classic-rush-ui .room-list .room-user-name.status-vip-platinum::before,
.classic-rush-ui .room-list .room-user-name.status-vip-platinum::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

/* Independent platinum particle field. Each dot has a different duration and
   negative delay, so flashes appear at unrelated places instead of pulsing as
   one block. */
.classic-rush-ui .platinum-sparks {
  position: absolute;
  z-index: 20;
  display: block;
  overflow: visible;
  pointer-events: none;
  isolation: isolate;
}
.classic-rush-ui .platinum-sparks i {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  background: #fff;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.08) rotate(var(--twist));
  transform-origin: 50% 50%;
  box-shadow:
    0 0 2px 1px rgba(255,255,255,.98),
    0 0 5px 2px rgba(218,248,255,.92),
    0 0 9px 3px rgba(91,205,255,.48);
  animation: classicIndependentPlatinumTwinkle var(--dur) cubic-bezier(.2,.75,.25,1) var(--delay) infinite;
}
.classic-rush-ui .platinum-sparks i::before,
.classic-rush-ui .platinum-sparks i::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.98) 42%, #fff 50%, rgba(207,245,255,.96) 58%, transparent);
  opacity: .95;
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 0 2px #dff9ff);
}
.classic-rush-ui .platinum-sparks i::before {
  width: calc(var(--size) * 4.8);
  height: 1px;
}
.classic-rush-ui .platinum-sparks i::after {
  width: 1px;
  height: calc(var(--size) * 4.8);
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.98) 42%, #fff 50%, rgba(207,245,255,.96) 58%, transparent);
}
.classic-rush-ui .platinum-sparks i:nth-child(3n) { filter: hue-rotate(-9deg); }
.classic-rush-ui .platinum-sparks i:nth-child(4n) { filter: brightness(1.18); }
.classic-rush-ui .platinum-sparks i:nth-child(5n)::before,
.classic-rush-ui .platinum-sparks i:nth-child(5n)::after { opacity: .62; }

@keyframes classicIndependentPlatinumTwinkle {
  0%, 68%, 100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.08) rotate(var(--twist));
  }
  72% {
    opacity: .18;
    transform: translate(-50%, -50%) scale(.28) rotate(calc(var(--twist) + 8deg));
  }
  75% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.28) rotate(calc(var(--twist) + 22deg));
  }
  78% {
    opacity: .72;
    transform: translate(-50%, -50%) scale(.72) rotate(calc(var(--twist) + 34deg));
  }
  82% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.16) rotate(calc(var(--twist) + 52deg));
  }
}

/* Wreath particle canvases use the exact same footprint as each wreath image. */
.classic-rush-ui .platinum-sparks--wreath { display: none; }
.classic-rush-ui .profile-card.status-vip-platinum > .platinum-sparks--wreath,
.classic-rush-ui .avatar-stage.status-vip-platinum > .platinum-sparks--wreath,
.classic-rush-ui .status-preview.status-vip-platinum > .platinum-sparks--wreath,
.classic-rush-ui .poker-seat.status-vip-platinum > .platinum-sparks--wreath,
.classic-rush-ui .durak-seat.status-vip-platinum > .platinum-sparks--wreath,
.classic-rush-ui .pool-player-badge.status-vip-platinum > .platinum-sparks--wreath { display:block; }
.classic-rush-ui .profile-card > .platinum-sparks--wreath {
  left: 4px;
  top: -28px;
  width: 168px;
  height: 137px;
}
.classic-rush-ui .avatar-stage > .platinum-sparks--wreath {
  left: -18px;
  top: -12px;
  width: 208px;
  height: 172px;
}
.classic-rush-ui .status-preview > .platinum-sparks--wreath {
  left: 42px;
  top: 4px;
  width: 166px;
  height: 137px;
}
.classic-rush-ui .poker-seat > .platinum-sparks--wreath {
  left: -34px;
  top: -37px;
  width: 185px;
  height: 145px;
}
.classic-rush-ui .durak-seat > .platinum-sparks--wreath {
  left: -31px;
  top: -36px;
  width: 177px;
  height: 143px;
}
.classic-rush-ui .pool-player-badge > .platinum-sparks--wreath {
  left: -2px;
  top: -24px;
  width: 135px;
  height: 112px;
}
.classic-rush-ui .app--pool-table .profile-card > .platinum-sparks--wreath {
  left: 1px !important;
  top: -16px !important;
  width: 138px !important;
  height: 113px !important;
}

/* Frame particles hug the perimeter of the actual nameplate. */
.classic-rush-ui .platinum-sparks--frame {
  inset: -5px;
  border-radius: 11px;
}

/* Static silver plate with no moving band; the individual sparkles provide all
   motion. Gold keeps its existing polished frame. */
.classic-rush-ui .room-list .room-user-name.status-vip-platinum,
.classic-rush-ui .player-list .lobby-user-name.status-vip-platinum,
.classic-rush-ui .club-chat-message .chat-author.status-vip-platinum,
.classic-rush-ui .table-chat-message .status-nick.status-vip-platinum,
.classic-rush-ui .chat-user-row .chat-user-name.status-vip-platinum {
  border: 2px solid transparent !important;
  color: #fff !important;
  background:
    linear-gradient(180deg, #10171a, #010304 60%, #0b1114) padding-box,
    linear-gradient(135deg, #657881 0%, #f5fdff 16%, #8399a2 31%, #ffffff 47%, #6d838d 63%, #dff8ff 79%, #71848c 100%) border-box !important;
  background-size: 100% 100% !important;
  text-shadow: 0 1px 2px #000, 0 0 5px rgba(222,249,255,.78) !important;
  box-shadow:
    0 0 7px rgba(217,247,255,.72),
    0 2px 3px rgba(0,0,0,.68),
    inset 0 1px 0 rgba(255,255,255,.31) !important;
  overflow: visible !important;
  isolation: isolate;
}

/* The selected table's players and observers in the lobby now use precisely
   the same centered nameplate dimensions as the in-table right panel. */
.classic-rush-ui .player-list {
  padding: 9px 8px 10px;
  overflow-y: auto;
  overflow-x: visible;
}
.classic-rush-ui .player-list p {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  height: 25px;
  margin: 5px 0;
  gap: 3px;
}
.classic-rush-ui .player-list .lobby-user-name {
  position: relative;
  float: none;
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  min-width: 0;
  width: auto;
  height: 23px;
  margin: 0;
  padding: 0 21px;
  border: 2px solid #738993;
  border-radius: 8px;
  background: linear-gradient(180deg, #0d1519, #010304 62%, #080d10);
  color: #dff9ff;
  font-size: 13px;
  font-weight: 950;
  line-height: 19px;
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
  box-shadow:
    0 2px 3px rgba(0,0,0,.66),
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 -1px 0 rgba(0,0,0,.65);
  isolation: isolate;
}
.classic-rush-ui .player-list .lobby-user-name.status-normal,
.classic-rush-ui .player-list .lobby-user-name.status-club,
.classic-rush-ui .player-list .lobby-user-name.status-vip {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  padding-left: 5px;
  padding-right: 5px;
  overflow: visible;
}
.classic-rush-ui .player-list .lobby-user-name.status-normal { color:#f2fbff; }
.classic-rush-ui .player-list .lobby-user-name.status-club {
  color:#67e5ff;
  text-shadow:0 1px 2px #000,0 0 7px rgba(73,218,255,.72);
}
.classic-rush-ui .player-list .lobby-user-name.status-vip {
  color:#e29bff;
  text-shadow:0 1px 2px #000,0 0 7px rgba(218,111,255,.7);
}
.classic-rush-ui .player-list .lobby-user-name.status-vip-gold {
  border-color: transparent;
  color:#fff16a;
  background:
    linear-gradient(180deg,#171006,#030201 62%,#0d0802) padding-box,
    linear-gradient(105deg,#8a5a00,#fff2a0 18%,#d99700 36%,#fff5b7 54%,#8b5900 75%,#ffd34a) border-box;
  box-shadow:0 0 7px rgba(255,195,37,.48),inset 0 1px 0 rgba(255,255,255,.18);
}
/* Reset the old generic .player-list span rule inside the composed nickname. */
.classic-rush-ui .player-list .lobby-user-name,
.classic-rush-ui .player-list .lobby-user-name span {
  float: none;
}
.classic-rush-ui .player-list .lobby-user-name .status-nick__label,
.classic-rush-ui .player-list .lobby-user-name .platinum-sparks {
  width: auto;
  height: auto;
  margin: 0;
  border-radius: 0;
  background: transparent;
  line-height: inherit;
}
.classic-rush-ui .player-list .lobby-user-name .status-nick__label { width:100%; }
.classic-rush-ui .player-list p > span:not(.lobby-user-name) {
  float: none;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 0 0 0 1px;
  border-radius: 50%;
  background: #00aeea;
  color:#051a28;
  text-align:center;
  line-height:18px;
  font-weight:950;
}

/* Club chat messages use the same Gold/Platinum plates as the table panel.
   Normal, Club and VIP remain clean coloured text, matching the in-game rule. */
.classic-rush-ui .club-chat-message .chat-author,
.classic-rush-ui .table-chat-message .status-nick {
  vertical-align: middle;
}
.classic-rush-ui .club-chat-message .chat-author.status-vip-gold,
.classic-rush-ui .club-chat-message .chat-author.status-vip-platinum,
.classic-rush-ui .table-chat-message .status-nick.status-vip-gold,
.classic-rush-ui .table-chat-message .status-nick.status-vip-platinum {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 126px;
  height: 23px;
  margin: 0 6px 2px 0 !important;
  padding: 0 21px !important;
  border-radius: 8px !important;
  line-height: 19px;
  text-align: center;
  overflow: visible !important;
}
.classic-rush-ui .club-chat-message .chat-author.status-vip-gold,
.classic-rush-ui .table-chat-message .status-nick.status-vip-gold {
  border:2px solid transparent !important;
  color:#fff16a !important;
  background:
    linear-gradient(180deg,#171006,#030201 62%,#0d0802) padding-box,
    linear-gradient(105deg,#8a5a00,#fff2a0 18%,#d99700 36%,#fff5b7 54%,#8b5900 75%,#ffd34a) border-box !important;
  box-shadow:0 0 7px rgba(255,195,37,.48),inset 0 1px 0 rgba(255,255,255,.18) !important;
}

/* Online users in the club chat also carry the same compact nameplate, rather
   than colouring the whole row. */
.classic-rush-ui .chat-user-row {
  overflow: visible;
  border:1px solid rgba(160,230,255,.35) !important;
  background:linear-gradient(90deg,rgba(4,62,89,.7),rgba(8,92,119,.48)) !important;
  box-shadow:inset 0 0 10px rgba(0,0,0,.16) !important;
  animation:none !important;
}
.classic-rush-ui .chat-user-row .chat-user-name-cell {
  display:flex;
  flex:1 1 auto;
  align-items:center;
  min-width:0;
  margin:0;
  overflow:visible;
}
.classic-rush-ui .chat-user-row .chat-user-name {
  position:relative;
  display:flex;
  flex:1 1 auto;
  align-items:center;
  justify-content:center;
  min-width:0;
  height:23px;
  margin:0;
  padding:0 21px;
  border-radius:8px;
  font-size:13px;
  line-height:19px;
  text-align:center;
}
.classic-rush-ui .chat-user-row .chat-user-name.status-normal,
.classic-rush-ui .chat-user-row .chat-user-name.status-club,
.classic-rush-ui .chat-user-row .chat-user-name.status-vip {
  padding-left:5px;
  padding-right:5px;
  border:0;
  background:transparent;
  box-shadow:none;
}
.classic-rush-ui .chat-user-row .chat-user-name.status-vip-gold {
  border:2px solid transparent;
  color:#fff16a;
  background:
    linear-gradient(180deg,#171006,#030201 62%,#0d0802) padding-box,
    linear-gradient(105deg,#8a5a00,#fff2a0 18%,#d99700 36%,#fff5b7 54%,#8b5900 75%,#ffd34a) border-box;
  box-shadow:0 0 7px rgba(255,195,37,.48),inset 0 1px 0 rgba(255,255,255,.18);
}
.classic-rush-ui .chat-user-row .chat-user-name.status-vip-platinum {
  box-sizing:border-box;
}
.classic-rush-ui .chat-user-row .chat-user-name .nick-bolt { left:5px; }

/* The new particle layer must not accidentally inherit the old chat/player
   span geometry. */
.classic-rush-ui .club-chat-message .platinum-sparks,
.classic-rush-ui .table-chat-message .platinum-sparks,
.classic-rush-ui .chat-user-row .platinum-sparks,
.classic-rush-ui .player-list .platinum-sparks {
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

@media (prefers-reduced-motion: reduce) {
  .classic-rush-ui .platinum-sparks i { animation:none !important; opacity:.4; }
}

/* Moderator bolt never participates in text flow inside any shared nameplate. */
.classic-rush-ui .lobby-user-name .nick-bolt,
.classic-rush-ui .chat-author .nick-bolt,
.classic-rush-ui .chat-user-name .nick-bolt,
.classic-rush-ui .table-chat-message .status-nick .nick-bolt {
  position:absolute;
  left:5px;
  top:50%;
  z-index:6;
  margin:0;
  transform:translateY(-50%) rotate(-10deg);
  font-size:13px;
  line-height:1;
}

/* === v1.4: clean centred nicknames + slow full-perimeter platinum stars === */

/* A nickname is text only. Generic legacy rules for .player-list span used to
   turn the inner label into a cyan oval; explicitly neutralise that layer in
   every place where the shared nameplate component is used. */
.classic-rush-ui .player-list .lobby-user-name > .status-nick__label,
.classic-rush-ui .room-list .room-user-name > .status-nick__label,
.classic-rush-ui .club-chat-message .chat-author > .status-nick__label,
.classic-rush-ui .table-chat-message .status-nick > .status-nick__label,
.classic-rush-ui .chat-user-row .chat-user-name > .status-nick__label {
  position: relative !important;
  float: none !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
  text-align: center !important;
  text-shadow: inherit !important;
}

/* The particle canvas is a transparent overlay, never a seat information
   panel. Legacy direct-child poker/durak rules were giving this span a blue
   rectangular background. */
.classic-rush-ui .platinum-sparks--wreath,
.classic-rush-ui .profile-card > .platinum-sparks--wreath,
.classic-rush-ui .avatar-stage > .platinum-sparks--wreath,
.classic-rush-ui .status-preview > .platinum-sparks--wreath,
.classic-rush-ui .poker-seat > .platinum-sparks--wreath,
.classic-rush-ui .durak-seat > .platinum-sparks--wreath,
.classic-rush-ui .pool-player-badge > .platinum-sparks--wreath {
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: visible !important;
  text-shadow: none !important;
}

/* The frame field stretches over the complete plate. These declarations come
   after all old player-list span rules so no side can collapse to zero width. */
.classic-rush-ui .platinum-sparks--frame {
  position: absolute !important;
  left: -5px !important;
  right: -5px !important;
  top: -5px !important;
  bottom: -5px !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* Long independent pauses and a short clean flash. With the denser perimeter
   point set, stars appear one by one on every side rather than travelling as a
   synchronized band. */
@keyframes classicIndependentPlatinumTwinkle {
  0%, 81%, 100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.06) rotate(var(--twist));
  }
  83.5% {
    opacity: .14;
    transform: translate(-50%, -50%) scale(.24) rotate(calc(var(--twist) + 7deg));
  }
  85.5% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.22) rotate(calc(var(--twist) + 20deg));
  }
  87.5% {
    opacity: .55;
    transform: translate(-50%, -50%) scale(.64) rotate(calc(var(--twist) + 31deg));
  }
  90% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.12) rotate(calc(var(--twist) + 45deg));
  }
}

/* Keep stars crisp and small; the effect should be points of platinum light,
   not large glossy blobs. */
.classic-rush-ui .platinum-sparks i {
  will-change: opacity, transform;
  box-shadow:
    0 0 2px 1px rgba(255,255,255,.96),
    0 0 5px 1px rgba(218,248,255,.88),
    0 0 8px 2px rgba(91,205,255,.38) !important;
}


/* === v1.5: general-chat cleanup + shared gold shimmer + formatted balance === */

/* The online-user row is no longer an extra oval capsule. Only the actual
   Gold/Platinum nickname plate remains, exactly like in the game panel. */
.classic-rush-ui .chat-user-row,
.classic-rush-ui .chat-user-row.status-vip-gold,
.classic-rush-ui .chat-user-row.status-vip-platinum,
.classic-rush-ui .chat-user-row.is-current {
  justify-content: center !important;
  height: 30px !important;
  margin: 0 0 7px !important;
  padding: 3px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  animation: none !important;
}
.classic-rush-ui .chat-user-row.is-current::before,
.classic-rush-ui .chat-user-row .chat-user-badge,
.classic-rush-ui .chat-user-row > em {
  display: none !important;
  content: none !important;
}
.classic-rush-ui .chat-user-row .chat-user-name-cell {
  flex: 0 1 150px !important;
  width: 150px !important;
  justify-content: center !important;
  overflow: visible !important;
}
.classic-rush-ui .chat-user-row .chat-user-name {
  flex: 0 1 150px !important;
  width: 150px !important;
  max-width: 150px !important;
}
.classic-rush-ui .chat-user-row .user-skull {
  position: absolute !important;
  right: 0 !important;
  top: 6px !important;
}

/* The longer Russian title fits cleanly in the side header. */
.classic-rush-ui .club-chat-online-title {
  box-sizing: border-box !important;
  padding: 5px 9px 0 !important;
  font-size: 17px !important;
  line-height: 24px !important;
  white-space: nowrap !important;
}

/* One and the same moving gold border everywhere: game room, lobby,
   general-chat messages and the online-player list. */
.classic-rush-ui .room-list .room-user-name.status-vip-gold,
.classic-rush-ui .player-list .lobby-user-name.status-vip-gold,
.classic-rush-ui .club-chat-message .chat-author.status-vip-gold,
.classic-rush-ui .table-chat-message .status-nick.status-vip-gold,
.classic-rush-ui .chat-user-row .chat-user-name.status-vip-gold {
  border: 2px solid transparent !important;
  color: #fff16a !important;
  background:
    linear-gradient(180deg, #171006, #030201 62%, #0d0802) padding-box,
    linear-gradient(105deg, #8a5a00, #fff2a0 18%, #d99700 36%, #fff5b7 54%, #8b5900 75%, #ffd34a) border-box !important;
  background-size: 100% 100%, 260% 100% !important;
  box-shadow:
    0 0 7px rgba(255,195,37,.48),
    0 2px 3px rgba(0,0,0,.62),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
  animation: classicRoomGoldFrame 3s linear infinite !important;
}

@media (prefers-reduced-motion: reduce) {
  .classic-rush-ui .room-list .room-user-name.status-vip-gold,
  .classic-rush-ui .player-list .lobby-user-name.status-vip-gold,
  .classic-rush-ui .club-chat-message .chat-author.status-vip-gold,
  .classic-rush-ui .table-chat-message .status-nick.status-vip-gold,
  .classic-rush-ui .chat-user-row .chat-user-name.status-vip-gold {
    animation: none !important;
  }
}

/* === v1.6: adaptive nickname fitting without crooked alignment === */

/* The moderator lightning is decorative and never consumes nickname width. */
.classic-rush-ui .profile-card.is-moderator strong::before {
  position: absolute !important;
  left: 6px !important;
  top: 50% !important;
  z-index: 6 !important;
  display: block !important;
  margin: 0 !important;
  transform: translateY(-50%) rotate(-10deg) !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

/* Main-menu profile nameplate: a little wider and true centre alignment. */
.classic-rush-ui .profile-card strong {
  box-sizing: border-box !important;
  left: 16px !important;
  width: 158px !important;
  min-width: 0 !important;
  max-width: none !important;
  padding-left: 22px !important;
  padding-right: 22px !important;
  text-align: center !important;
}

/* Shared adaptive sizes. The full nickname remains visible in normal cases;
   the ellipsis is kept only as a final guard for exceptionally long names. */
.classic-rush-ui .nick-fit-medium { font-size: 12px !important; }
.classic-rush-ui .nick-fit-long { font-size: 10.8px !important; letter-spacing: -.15px; }
.classic-rush-ui .nick-fit-xlong { font-size: 9.4px !important; letter-spacing: -.32px; }
.classic-rush-ui .profile-card strong.nick-fit-medium { font-size: 13px !important; }
.classic-rush-ui .profile-card strong.nick-fit-long { font-size: 11.5px !important; letter-spacing: -.1px; }
.classic-rush-ui .profile-card strong.nick-fit-xlong { font-size: 10px !important; letter-spacing: -.25px; }

/* Poker and Durak nameplates fit inside the laurel width instead of cutting
   the nickname after a few letters. */
.classic-rush-ui .app--poker-table .poker-seat > b.seat-nick,
.classic-rush-ui .app--durak-table .durak-seat > b.seat-nick {
  box-sizing: border-box !important;
  width: 132px !important;
  max-width: 132px !important;
  min-width: 0 !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  text-align: center !important;
  overflow: hidden !important;
}
.classic-rush-ui .seat-nick__label {
  position: relative;
  z-index: 3;
  display: block;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  color: inherit;
  font: inherit;
  line-height: inherit;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Right game panel gets a few extra pixels by tightening only the tiny action
   circles. The nickname still remains exactly centred in its own frame. */
.classic-rush-ui .room-list li {
  gap: 2px !important;
}
.classic-rush-ui .room-list li::before {
  flex-basis: 17px !important;
  width: 17px !important;
}
.classic-rush-ui .room-list li > span:not(.room-user-name),
.classic-rush-ui .room-list .room-skull {
  flex-basis: 16px !important;
  width: 16px !important;
  height: 16px !important;
  line-height: 16px !important;
  font-size: 11px !important;
}
.classic-rush-ui .room-list .room-user-name,
.classic-rush-ui .player-list .lobby-user-name,
.classic-rush-ui .chat-user-row .chat-user-name {
  padding-left: 18px !important;
  padding-right: 18px !important;
}
.classic-rush-ui .room-list .room-user-name.nick-fit-long,
.classic-rush-ui .player-list .lobby-user-name.nick-fit-long,
.classic-rush-ui .chat-user-row .chat-user-name.nick-fit-long,
.classic-rush-ui .club-chat-message .chat-author.nick-fit-long,
.classic-rush-ui .table-chat-message .status-nick.nick-fit-long {
  font-size: 10.8px !important;
}
.classic-rush-ui .room-list .room-user-name.nick-fit-xlong,
.classic-rush-ui .player-list .lobby-user-name.nick-fit-xlong,
.classic-rush-ui .chat-user-row .chat-user-name.nick-fit-xlong,
.classic-rush-ui .club-chat-message .chat-author.nick-fit-xlong,
.classic-rush-ui .table-chat-message .status-nick.nick-fit-xlong {
  font-size: 9.4px !important;
}

/* Pool uses the same centred text component. */
.classic-rush-ui .pool-player-card > b,
.classic-rush-ui .pool-player-badge > b {
  position: relative;
  text-align: center;
}
.classic-rush-ui .pool-player-card > b .seat-nick__label,
.classic-rush-ui .pool-player-badge > b .seat-nick__label {
  width: 100%;
}

/* ===== v9: TOP игроков + получение фишек ===== */
.modal__box--chips,
.modal__box--top-players {
  position: relative;
  overflow: hidden;
  border: 3px solid #16bce8;
  background:
    radial-gradient(circle at 50% 0%, rgba(69, 209, 255, .20), transparent 35%),
    linear-gradient(180deg, #0c668a 0%, #073f5d 48%, #031e31 100%);
  box-shadow:
    0 18px 38px rgba(0,0,0,.62),
    inset 0 0 0 2px rgba(255,255,255,.08),
    inset 0 0 42px rgba(0,0,0,.32);
}

.modal__box--chips::before,
.modal__box--top-players::before {
  left: 24px;
  right: 24px;
  top: 70px;
  bottom: 22px;
  border-radius: 22px;
  border-color: rgba(52, 211, 255, .42);
}

.modal__box--chips {
  width: 770px;
  min-height: 500px;
  padding: 32px 42px 24px;
}

.chips-summary {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 650px;
  margin: 18px auto 12px;
  padding: 9px 18px;
  border: 1px solid rgba(105, 229, 255, .46);
  border-radius: 16px;
  background: rgba(1, 27, 43, .56);
  box-shadow: inset 0 2px 9px rgba(0,0,0,.35);
}

.chips-summary > span {
  min-width: 190px;
  padding: 6px 15px;
  border-radius: 14px;
  font-size: 17px;
  font-weight: 950;
  text-align: center;
  text-shadow: 0 2px 2px #000;
}

.chips-summary > b {
  color: #d9f5ff;
  font-size: 18px;
  text-shadow: 0 2px 2px #000;
}

.chips-summary em {
  color: #6dff2d;
  font-style: normal;
  font-size: 24px;
}

.chips-claim-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  width: 650px;
  margin: 0 auto;
}

.chips-claim-card {
  position: relative;
  min-height: 250px;
  padding: 16px 17px 14px;
  border: 3px solid #d29321;
  border-radius: 25px;
  background:
    radial-gradient(circle at 50% 5%, rgba(255, 242, 109, .32), transparent 30%),
    linear-gradient(180deg, rgba(20, 119, 145, .96), rgba(4, 54, 79, .98));
  box-shadow:
    0 10px 12px rgba(0,0,0,.38),
    inset 0 0 0 3px rgba(255, 216, 92, .20),
    inset 0 -18px 28px rgba(0,0,0,.22);
  text-align: center;
}

.chips-claim-card--daily {
  border-color: #f0ba36;
  background:
    radial-gradient(circle at 50% 5%, rgba(255, 245, 145, .38), transparent 31%),
    linear-gradient(180deg, rgba(26, 136, 157, .98), rgba(4, 53, 80, .98));
}

.chips-claim-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: -2px auto 4px;
  border: 5px solid #f1a81d;
  border-radius: 50%;
  color: #d41c29;
  background: radial-gradient(circle at 38% 28%, #fff8a2 0 18%, #ffd42f 19% 61%, #d27b00 62% 100%);
  box-shadow: 0 5px 8px rgba(0,0,0,.4), inset 0 2px 0 rgba(255,255,255,.65);
  font-size: 22px;
  font-weight: 950;
  text-shadow: 0 1px 0 rgba(255,255,255,.65);
}

.chips-claim-card h3 {
  margin: 2px 0 3px;
  color: #fff;
  font-size: 21px;
  text-shadow: 0 2px 2px #000;
}

.chips-claim-card strong {
  display: block;
  color: #fff350;
  font-size: 24px;
  text-shadow: 0 2px 2px #000, 0 0 8px rgba(255, 218, 36, .35);
}

.chips-claim-card p {
  min-height: 42px;
  margin: 7px 0 10px;
  color: #d7f3ff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
}

.chips-claim-card button {
  width: 210px;
  height: 38px;
  border-radius: 19px;
  color: #302000;
  background: linear-gradient(#fff477, #ffc625 55%, #d67900);
  box-shadow: inset 0 -4px rgba(105,60,0,.28), 0 5px 7px rgba(0,0,0,.4);
  font-size: 16px;
  font-weight: 950;
  text-shadow: 0 1px 0 rgba(255,255,255,.6);
}

.chips-claim-card button.is-ready {
  animation: chipClaimReady 1.5s ease-in-out infinite;
}

.chips-claim-card button:disabled {
  color: #b8cbd3;
  background: linear-gradient(#567887, #274c60 58%, #183445);
  box-shadow: inset 0 2px 5px rgba(0,0,0,.42);
  cursor: default;
  opacity: .88;
}

.chips-claim-card small {
  display: block;
  min-height: 27px;
  margin-top: 7px;
  color: #aeeaff;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
}

@keyframes chipClaimReady {
  0%, 100% { filter: brightness(1); transform: translateY(0); }
  50% { filter: brightness(1.18); transform: translateY(-1px); }
}

.chips-status-rules {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  gap: 7px;
  width: 680px;
  margin: 12px auto 0;
  color: #d5f2ff;
  font-size: 11px;
  font-weight: 800;
}

.chips-status-rules span {
  padding: 5px 7px;
  border: 1px solid rgba(74, 210, 246, .35);
  border-radius: 10px;
  background: rgba(0, 22, 36, .48);
}

.chips-status-rules b { color: #ffe65a; }
#chipsClaimMessage { margin: 8px 0 0; }

.modal__box--top-players {
  width: 960px;
  height: 620px;
  padding: 30px 34px 22px;
}

.top-ranking-tabs {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 1.25fr 1.25fr 1fr 1fr 1fr;
  gap: 7px;
  margin: 12px 10px 8px;
}

.top-ranking-tabs button {
  min-height: 42px;
  padding: 5px 8px;
  border: 2px solid #bd7908;
  border-radius: 13px 13px 7px 7px;
  color: #fff4a4;
  background: linear-gradient(180deg, #1b819e, #09536f 58%, #06374f);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 4px 6px rgba(0,0,0,.28);
  font-size: 13px;
  font-weight: 950;
  text-shadow: 0 2px 1px #000;
}

.top-ranking-tabs button.is-active {
  color: #4b2500;
  border-color: #ffdf58;
  background: linear-gradient(#fff47c, #ffc72b 56%, #de8300);
  text-shadow: 0 1px 0 rgba(255,255,255,.65);
  transform: translateY(-2px);
}

.ranking-rule {
  position: relative;
  z-index: 2;
  min-height: 34px;
  margin: 2px 24px 8px;
  color: #d9f5ff;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.3;
  text-align: center;
  text-shadow: 0 2px 2px #000;
}

.ranking-table-head,
.ranking-row {
  display: grid;
  grid-template-columns: 72px minmax(300px, 1fr) 170px 150px;
  align-items: center;
}

.ranking-table-head {
  position: relative;
  z-index: 2;
  height: 34px;
  margin: 0 14px;
  border: 1px solid rgba(74, 211, 247, .48);
  border-radius: 10px 10px 0 0;
  color: #ffe950;
  background: rgba(0, 28, 44, .74);
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  text-shadow: 0 2px 1px #000;
}

.ranking-list {
  position: relative;
  z-index: 2;
  height: 420px;
  margin: 0 14px;
  overflow-y: auto;
  border: 1px solid rgba(69, 210, 247, .48);
  border-top: 0;
  border-radius: 0 0 15px 15px;
  background: rgba(0, 22, 36, .58);
  box-shadow: inset 0 0 22px rgba(0,0,0,.28);
  scrollbar-color: #20b9e4 #07344a;
  scrollbar-width: thin;
}

.ranking-row {
  min-height: 49px;
  border-bottom: 1px solid rgba(67, 187, 222, .20);
  color: #e5f8ff;
  background: linear-gradient(90deg, rgba(24, 101, 130, .36), rgba(3, 45, 67, .24));
}

.ranking-row:nth-child(even) {
  background: linear-gradient(90deg, rgba(11, 78, 106, .42), rgba(2, 37, 58, .30));
}

.ranking-row--top1 {
  min-height: 58px;
  background: linear-gradient(90deg, rgba(244, 180, 27, .32), rgba(23, 88, 111, .38));
  box-shadow: inset 0 0 16px rgba(255, 207, 54, .16);
}
.ranking-row--top2 { background: linear-gradient(90deg, rgba(196, 224, 238, .22), rgba(14, 73, 98, .38)); }
.ranking-row--top3 { background: linear-gradient(90deg, rgba(216, 126, 47, .24), rgba(12, 69, 94, .38)); }

.ranking-place {
  color: #fff;
  font-size: 18px;
  text-align: center;
  text-shadow: 0 2px 2px #000;
}

.ranking-player {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 10px;
}

.ranking-avatar {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border: 2px solid #dfeef4;
  border-radius: 10px;
  background:
    radial-gradient(circle at 50% 35%, #edf6fa 0 18%, transparent 19%),
    radial-gradient(ellipse at 50% 100%, #b9cbd3 0 33%, transparent 34%),
    linear-gradient(#dbe8ed, #77919d);
  box-shadow: 0 3px 5px rgba(0,0,0,.35);
}

.ranking-player .status-nick {
  max-width: 250px;
  min-width: 135px;
}

.ranking-record,
.ranking-score {
  color: #dff5ff;
  font-size: 15px;
  font-weight: 900;
  text-align: center;
  text-shadow: 0 2px 1px #000;
}

.ranking-score {
  color: #75ff38;
  font-size: 18px;
}

.ranking-empty {
  margin: 80px 20px;
  color: #d5eff9;
  font-size: 18px;
  font-weight: 900;
  text-align: center;
  text-shadow: 0 2px 2px #000;
}
.ranking-empty--error { color: #ff9292; }

/* Longer labels in the classic round navigation. */
.classic-rush-ui .bottom-buttons button:nth-child(3),
.classic-rush-ui .bottom-buttons button:nth-child(5) {
  font-size: 12px;
  line-height: .95;
}

/* Keep the 100-player list fully visible on the classic 768px canvas. */
.modal__box--top-players {
  height: 700px;
  max-height: calc(100vh - 24px);
}
.ranking-list { height: 450px; }
.chips-summary > span.status-normal { color:#f2fbff; border:1px solid #91bed1; background:rgba(32,74,93,.72); }
.chips-summary > span.status-club { color:#69dcff; border:1px solid #3ccaff; background:rgba(9,74,103,.76); box-shadow:0 0 9px rgba(56,198,255,.28); }
.chips-summary > span.status-vip { color:#ff74bd; border:1px solid #ff5bab; background:rgba(97,22,71,.66); box-shadow:0 0 9px rgba(255,72,167,.25); }
.chips-summary > span.status-vip-gold { color:#ffe34e; border:1px solid #ffd038; background:rgba(91,57,0,.68); box-shadow:0 0 11px rgba(255,195,36,.38); }
.chips-summary > span.status-vip-platinum { color:#eafcff; border:1px solid #aeeeff; background:rgba(40,77,91,.72); box-shadow:0 0 12px rgba(189,241,255,.38); }

/* v11: hard administrator notices. The overlay has no close control; only reload is available. */
.is-access-locked,
.is-access-locked body { overflow: hidden !important; }
.access-lock {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: none;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at 50% 34%, rgba(19,114,149,.24), transparent 35%),
    rgba(0,12,18,.94);
  backdrop-filter: blur(8px);
}
.access-lock.is-active { display: grid; }
.access-lock__card {
  width: min(540px, 94vw);
  padding: 34px 34px 30px;
  border: 2px solid rgba(255,95,95,.68);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(19,52,66,.99), rgba(4,22,31,.99));
  box-shadow: 0 28px 80px rgba(0,0,0,.72), inset 0 0 34px rgba(255,88,88,.08);
  text-align: center;
}
.access-lock--kicked .access-lock__card {
  border-color: rgba(255,190,50,.72);
  box-shadow: 0 28px 80px rgba(0,0,0,.72), inset 0 0 34px rgba(255,190,50,.09);
}
.access-lock__icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 17px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  font-size: 40px;
  font-weight: 1000;
  background: linear-gradient(180deg, #ff7373, #c52632);
  box-shadow: 0 0 28px rgba(255,64,75,.45), inset 0 2px 0 rgba(255,255,255,.32);
}
.access-lock--kicked .access-lock__icon {
  color: #402800;
  background: linear-gradient(180deg, #ffe06a, #e7950b);
  box-shadow: 0 0 28px rgba(255,190,38,.42), inset 0 2px 0 rgba(255,255,255,.45);
}
.access-lock__card h2 {
  margin: 0 0 13px;
  color: #fff;
  font-size: 25px;
  line-height: 1.15;
  letter-spacing: .4px;
  text-shadow: 0 2px 3px #000;
}
.access-lock__card p {
  margin: 0 auto 25px;
  color: #d9f5ff;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 800;
}
.access-lock__card button {
  min-width: 240px;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 12px;
  padding: 13px 22px;
  color: #07202b;
  background: linear-gradient(180deg, #49e3ff, #159cc5);
  box-shadow: 0 9px 24px rgba(0,156,199,.3), inset 0 1px 0 rgba(255,255,255,.55);
  font-size: 14px;
  font-weight: 1000;
  cursor: pointer;
}
.access-lock__card button:hover { filter: brightness(1.08); }

/* v11: the won pot visibly travels from the bank to every winner. */
.app--poker-table .poker-pot-payout {
  position: absolute;
  left: 350px;
  top: 348px;
  width: 144px;
  height: 66px;
  z-index: 74;
  pointer-events: none;
  transform-origin: 50% 60%;
  animation: pokerPotPayout 1.58s cubic-bezier(.18,.76,.17,1) var(--payout-delay, 0s) both;
  filter: drop-shadow(0 8px 7px rgba(0,0,0,.48));
}
.app--poker-table .poker-pot-payout::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 48%;
  width: 46px;
  height: 14px;
  border-radius: 50%;
  transform: translate(-50%,-50%);
  background: radial-gradient(ellipse, rgba(255,226,83,.72), rgba(255,176,18,.12) 60%, transparent 72%);
  filter: blur(3px);
  animation: pokerPotPayoutGlow 1.58s ease var(--payout-delay, 0s) both;
}
.app--poker-table .poker-pot-payout .chip-stack--payout {
  transform: scale(.94);
  transform-origin: 50% 50%;
}
.app--poker-table .pot-chip-bank--paying {
  animation: pokerPotBankLeaves .48s ease .28s both;
}
.app--poker-table .pot-chip-bank--paid { opacity: 0; }
@keyframes pokerPotPayout {
  0% { opacity: 0; transform: translate(0,0) scale(.72) rotate(-3deg); }
  12% { opacity: 1; transform: translate(0,-8px) scale(1.08) rotate(2deg); }
  68% { opacity: 1; transform: translate(var(--payout-x), calc(var(--payout-y) - 18px)) scale(.93) rotate(-5deg); }
  88% { opacity: 1; transform: translate(var(--payout-x), calc(var(--payout-y) - 5px)) scale(.8) rotate(3deg); }
  100% { opacity: 0; transform: translate(var(--payout-x), var(--payout-y)) scale(.48) rotate(0deg); }
}
@keyframes pokerPotPayoutGlow {
  0%,100% { opacity: 0; transform: translate(-50%,-50%) scale(.5); }
  18%,74% { opacity: 1; transform: translate(-50%,-50%) scale(1.25); }
}
@keyframes pokerPotBankLeaves {
  0%,38% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(.58); }
}


/* v12: в общем чате статус больше не рисует плашку вокруг ника. */
.chat-nick {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  max-width: 100%;
  margin-right: 6px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: #fff;
  font-weight: 950;
  line-height: 1.2;
  text-shadow: 0 2px 2px #000;
  vertical-align: baseline;
}
.chat-nick__label {
  display: inline-block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat-nick.status-club { color:#65dcff; text-shadow:0 2px 2px #000,0 0 7px rgba(101,220,255,.8); }
.chat-nick.status-vip { color:#d782ff; text-shadow:0 2px 2px #000,0 0 7px rgba(215,130,255,.8); }
.chat-nick.status-vip-gold { color:#ffdf38; text-shadow:0 2px 2px #000,0 0 8px #ff9800; }
.chat-nick.status-vip-platinum { color:#f4fbff; text-shadow:0 2px 2px #000,0 0 10px #e8fbff; }
.chat-user-name-cell {
  display: flex;
  align-items: center;
  min-width: 0;
}
.club-chat-message .chat-author {
  max-width: 240px;
}

/* =========================================================
   v13 — профили, друзья, личные сообщения и вкладки у стола
   ========================================================= */

/* Ник в сообщениях всегда без рамки и без молнии. */
.classic-rush-ui .club-chat-message .chat-nick,
.classic-rush-ui .table-chat-message .chat-nick,
.classic-rush-ui .chat-user-row .chat-nick,
.chat-nick {
  display:inline !important;
  width:auto !important;
  height:auto !important;
  margin:0 4px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  animation:none !important;
}
.chat-nick .nick-bolt { display:none !important; }
.chat-nick.is-friend,
.chat-user-row.is-friend .chat-nick,
.club-chat-message .chat-nick.is-friend,
.table-chat-message .chat-nick.is-friend {
  color:#60ff7b !important;
  text-shadow:0 2px 2px #000,0 0 8px rgba(64,255,100,.72) !important;
}

/* Активные вкладки справа у игрового стола. */
.app--table .tabs-mini button {
  cursor:pointer;
  opacity:.84;
  transition:filter .15s ease, transform .15s ease, opacity .15s ease;
}
.app--table .tabs-mini button:hover { filter:brightness(1.14); }
.app--table .tabs-mini button.is-active {
  opacity:1;
  transform:translateY(1px);
  color:#fff;
  background:linear-gradient(180deg,#43d9ff 0%,#0a8dbd 52%,#055173 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 0 10px rgba(30,205,255,.38);
}
.table-side-panel.is-social-panel { padding:8px !important; }
.side-empty {
  min-height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  color:#b9d8e6;
  font-weight:800;
  text-align:center;
  line-height:1.45;
}
.side-empty.is-error { color:#ff9b9b; }

/* Список игроков и новые кнопки действий. */
.classic-rush-ui .room-list li.room-user-row,
.room-list li.room-user-row {
  display:flex;
  align-items:center;
  min-height:26px;
  margin:5px 0;
  overflow:visible;
}
.classic-rush-ui .room-list li.room-user-row::before,
.room-list li.room-user-row::before {
  flex:0 0 auto;
  margin-right:3px;
}
.classic-rush-ui .room-list .room-user-name,
.room-list .room-user-name {
  flex:1 1 auto;
  min-width:0;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  float:none !important;
  overflow:hidden;
}
.classic-rush-ui .room-list .room-user-name .status-nick__label,
.room-list .room-user-name .status-nick__label {
  display:block !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  line-height:20px !important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.classic-rush-ui .room-list .room-user-name.is-friend,
.classic-rush-ui .room-list li.is-friend .room-user-name,
.room-list .room-user-name.is-friend,
.room-list li.is-friend .room-user-name {
  color:#55ff70 !important;
  text-shadow:0 2px 2px #000,0 0 8px rgba(70,255,103,.72) !important;
}
.classic-rush-ui .room-list .room-user-actions,
.room-list .room-user-actions {
  flex:0 0 auto;
  display:flex !important;
  align-items:center;
  gap:3px;
  width:auto !important;
  height:auto !important;
  margin:0 0 0 4px !important;
  padding:0 !important;
  float:none !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  line-height:normal !important;
}
.classic-rush-ui .room-list .room-action,
.room-list .room-action,
.classic-rush-ui .room-list .room-skull,
.room-list .room-skull {
  position:static !important;
  display:inline-grid !important;
  place-items:center;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
  border:1px solid rgba(102,226,255,.72) !important;
  border-radius:50% !important;
  background:linear-gradient(#35d6ff,#0792c5) !important;
  color:#032536 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 1px 2px rgba(0,0,0,.55) !important;
  font-size:12px !important;
  font-style:normal !important;
  font-weight:950 !important;
  line-height:16px !important;
  cursor:pointer;
}
.classic-rush-ui .room-list .room-message-action,
.room-list .room-message-action { font-size:11px !important; }
.classic-rush-ui .room-list .room-friend-action.is-active,
.room-list .room-friend-action.is-active {
  border-color:#83ff91 !important;
  background:linear-gradient(#9affaa,#24c94a) !important;
  color:#073b12 !important;
  box-shadow:0 0 8px rgba(63,255,97,.65),inset 0 1px 0 #fff !important;
}
.classic-rush-ui .room-list .room-skull,
.room-list .room-skull {
  border-color:#ff8f8f !important;
  background:linear-gradient(#ff9a9a,#c93636) !important;
  color:#310000 !important;
}
.room-empty-row { color:#91b9c9 !important; font-size:13px; }

/* Друзья в правой панели. */
.table-friends-list,
.table-rating-list { display:grid; gap:5px; }
.table-friend-row {
  display:grid;
  grid-template-columns:1fr 31px;
  align-items:center;
  gap:6px;
  min-height:46px;
  padding:5px 6px;
  border:1px solid rgba(55,195,235,.42);
  border-radius:8px;
  background:linear-gradient(90deg,rgba(1,35,52,.72),rgba(9,82,107,.52));
}
.table-friend-row.is-online { border-color:rgba(72,255,109,.62); }
.friend-main {
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:0;
  border:0;
  background:none;
  color:#fff;
  text-align:left;
  cursor:pointer;
}
.friend-avatar,
.inbox-avatar {
  flex:0 0 auto;
  width:34px;
  height:34px;
  border:1px solid #5ed8f4;
  border-radius:50%;
  background:linear-gradient(#d9edf4,#7fa4b3) center/cover no-repeat;
  box-shadow:0 2px 4px rgba(0,0,0,.55);
}
.friend-main span { min-width:0; display:grid; }
.friend-main b {
  overflow:hidden;
  color:#57ff76;
  font-size:14px;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-shadow:0 1px 2px #000,0 0 6px rgba(70,255,100,.58);
}
.friend-main small { color:#a9c8d5; font-size:10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.table-friend-row.is-online .friend-main small { color:#69ff80; }
.friend-message {
  width:29px;
  height:29px;
  border:1px solid #5ee4ff;
  border-radius:50%;
  background:linear-gradient(#45dfff,#078ebd);
  color:#073145;
  font-size:15px;
  font-weight:950;
  cursor:pointer;
}
.table-rating-row {
  display:grid;
  grid-template-columns:30px 1fr 66px;
  align-items:center;
  min-height:31px;
  padding:4px 7px;
  border:1px solid rgba(59,190,230,.35);
  border-radius:7px;
  background:linear-gradient(90deg,rgba(2,38,55,.82),rgba(8,79,104,.56));
  color:#fff;
  text-align:left;
  cursor:pointer;
}
.table-rating-row strong { color:#6deaff; }
.table-rating-row span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:900; }
.table-rating-row b { color:#ffe462; text-align:right; }
.table-rating-row.is-friend span { color:#58ff76; text-shadow:0 0 6px rgba(70,255,100,.58); }

/* Новый личный кабинет. */
.modal__box--cabinet {
  width:830px !important;
  min-height:585px !important;
  padding:30px 42px 24px !important;
}
.modal__box--cabinet::before {
  left:28px !important;
  right:28px !important;
  top:74px !important;
  bottom:24px !important;
}
.cabinet-tabs {
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:6px;
  margin:15px 0 13px;
}
.cabinet-tabs button {
  min-height:34px;
  border:1px solid rgba(70,218,255,.72);
  border-radius:8px;
  background:linear-gradient(#278eb9,#075473);
  color:#fff;
  font-size:13px;
  font-weight:950;
  text-shadow:0 1px 2px #000;
  cursor:pointer;
}
.cabinet-tabs button.is-active {
  background:linear-gradient(#56e3ff,#0b9bc8 54%,#05617f);
  box-shadow:0 0 10px rgba(38,210,255,.38),inset 0 1px 0 rgba(255,255,255,.54);
}
#cabinetUnreadBadge {
  display:none;
  min-width:17px;
  height:17px;
  margin-left:4px;
  padding:0 4px;
  border-radius:9px;
  background:#ff4242;
  color:#fff;
  font-size:10px;
  line-height:17px;
}
#cabinetUnreadBadge.is-visible { display:inline-block; }
.cabinet-tab-panel {
  position:relative;
  z-index:2;
  display:none;
  min-height:420px;
}
.cabinet-tab-panel.is-active { display:block; }
.modal__box--cabinet .cabinet-layout { margin-top:5px; }
.modal__box--cabinet .cabinet-fields { gap:7px; }
.modal__box--cabinet .cabinet-fields label { grid-template-columns:175px 1fr; }
.modal__box--cabinet .cabinet-actions { margin-top:10px; }
.cabinet-loading { padding:40px; color:#b8d8e6; font-weight:900; }
.cabinet-summary-strip {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin:10px 0 15px;
}
.cabinet-summary-strip span {
  padding:10px 6px;
  border:1px solid rgba(78,211,244,.48);
  border-radius:9px;
  background:rgba(1,35,53,.68);
  color:#acd0df;
  font-size:12px;
}
.cabinet-summary-strip b { display:block; margin-top:4px; color:#fff; font-size:20px; }
.cabinet-stats-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.cabinet-stat-card {
  padding:13px;
  border:1px solid rgba(70,209,244,.52);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(11,92,119,.72),rgba(1,36,54,.86));
  box-shadow:inset 0 0 15px rgba(0,0,0,.22);
  text-align:left;
}
.cabinet-stat-card h3 { margin:0 0 10px; color:#66e8ff; font-size:15px; text-align:center; }
.cabinet-stat-card div { display:flex; justify-content:space-between; gap:8px; margin:7px 0; color:#b8d4df; font-size:12px; }
.cabinet-stat-card b { color:#fff; }
.cabinet-history,
.cabinet-inbox {
  max-height:420px;
  overflow-y:auto;
  padding:5px 3px 5px 0;
}
.cabinet-game-row {
  display:grid;
  grid-template-columns:1fr 86px 92px;
  align-items:center;
  gap:8px;
  margin:6px 0;
  padding:10px 12px;
  border:1px solid rgba(59,190,228,.42);
  border-radius:9px;
  background:linear-gradient(90deg,rgba(2,39,58,.86),rgba(8,80,104,.55));
  text-align:left;
}
.cabinet-game-row div { display:grid; min-width:0; }
.cabinet-game-row small { color:#9fc1cf; font-size:11px; }
.cabinet-game-row span { color:#b9d6e1; font-weight:950; text-align:center; }
.cabinet-game-row.is-win { border-color:rgba(69,255,102,.60); }
.cabinet-game-row.is-win span { color:#65ff7d; }
.cabinet-game-row em { color:#ffe56b; font-style:normal; text-align:right; }
.cabinet-inbox-row {
  width:100%;
  display:grid;
  grid-template-columns:40px 1fr 100px;
  align-items:center;
  gap:10px;
  margin:6px 0;
  padding:8px 10px;
  border:1px solid rgba(58,188,227,.42);
  border-radius:10px;
  background:linear-gradient(90deg,rgba(2,39,58,.88),rgba(8,80,104,.58));
  color:#fff;
  text-align:left;
  cursor:pointer;
}
.cabinet-inbox-row.has-unread { border-color:#ffdf54; box-shadow:0 0 8px rgba(255,214,55,.25); }
.cabinet-inbox-row span { min-width:0; display:grid; }
.cabinet-inbox-row b { color:#64ff7b; }
.cabinet-inbox-row small { overflow:hidden; color:#bad1da; text-overflow:ellipsis; white-space:nowrap; }
.cabinet-inbox-row em { color:#ffe36b; font-style:normal; font-weight:900; text-align:right; }

/* Публичный профиль игрока. */
.modal__box--player-profile {
  width:650px;
  min-height:520px;
  padding:31px 38px 25px;
}
.modal__box--player-profile::before { left:28px; right:28px; top:73px; bottom:72px; }
.player-profile-content { position:relative; z-index:2; margin-top:16px; text-align:left; }
.public-profile-head {
  display:flex;
  align-items:center;
  gap:18px;
  padding:12px;
  border:1px solid rgba(76,211,246,.48);
  border-radius:13px;
  background:rgba(1,37,55,.62);
}
.public-profile-avatar {
  width:86px;
  height:86px;
  flex:0 0 86px;
  border:3px solid #54d8f3;
  border-radius:50%;
  background:linear-gradient(#e3f1f6,#789cab) center/cover no-repeat;
  box-shadow:0 4px 10px rgba(0,0,0,.55),0 0 12px rgba(48,204,240,.30);
}
.public-profile-head h3 { margin:0; color:#fff; font-size:25px; }
.public-profile-head h3.is-friend-name { color:#58ff75; text-shadow:0 0 8px rgba(60,255,90,.55); }
.public-profile-head p { margin:3px 0; color:#69e6ff; font-weight:900; }
.public-profile-head small { color:#9fc1cf; }
.public-profile-meta {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:7px;
  margin:10px 0;
}
.public-profile-meta span { padding:8px 10px; border-radius:8px; background:rgba(3,53,74,.70); color:#b9d4df; }
.public-profile-meta b { color:#fff; }
.public-game-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.public-game-stat { display:grid; gap:3px; padding:9px; border:1px solid rgba(65,193,229,.40); border-radius:9px; background:rgba(1,42,61,.76); font-size:11px; }
.public-game-stat b { color:#62e7ff; font-size:13px; }
.public-game-stat strong { color:#ffe56d; }
.public-recent-games { margin-top:10px; }
.public-recent-games h4 { margin:0 0 5px; color:#fff; }
.public-recent-games p { display:grid; grid-template-columns:1fr 72px 130px; gap:7px; margin:4px 0; padding:6px 8px; border-radius:7px; background:rgba(2,45,65,.72); }
.public-recent-games p span { color:#69ff81; text-align:center; }
.public-recent-games p small { color:#abc7d2; text-align:right; }
.player-profile-actions { position:relative; z-index:2; margin-top:12px; gap:12px; }
.player-profile-actions button.is-active { background:linear-gradient(#ff9a9a,#b93737); }

/* Личная переписка. */
.modal__box--private-message {
  width:610px;
  min-height:545px;
  padding:31px 38px 24px;
}
.modal__box--private-message::before { left:28px; right:28px; top:73px; bottom:28px; }
.private-conversation {
  position:relative;
  z-index:2;
  height:345px;
  margin-top:15px;
  padding:12px;
  overflow-y:auto;
  border:1px solid rgba(65,205,242,.50);
  border-radius:12px;
  background:rgba(0,29,44,.72);
  text-align:left;
}
.private-bubble { display:flex; align-items:center; justify-content:flex-start; flex-wrap:wrap; gap:4px; margin:7px 0; }
.private-bubble > .private-bubble__text { max-width:78%; padding:8px 11px; border-radius:11px 11px 11px 3px; background:linear-gradient(#216c8c,#0c4b68); color:#fff; user-select:text; }
.private-bubble small { flex-basis:100%; margin:2px 4px; color:#8eafbd; font-size:9px; }
.private-bubble.is-mine { justify-content:flex-end; }
.private-bubble.is-mine > .private-bubble__text { border-radius:11px 11px 3px 11px; background:linear-gradient(#2da34e,#157534); }
.private-bubble .message-moderation-actions { margin-left:2px; }
.private-message-form { position:relative; z-index:2; display:grid; grid-template-columns:1fr 118px; gap:8px; margin-top:10px; }
.private-message-form textarea { height:62px; resize:none; padding:8px 10px; border:2px solid #22b8e2; border-radius:10px; background:#eaf8fd; color:#0b2b39; font:inherit; user-select:text; }
.private-message-form button { border:1px solid #9cf2ff; border-radius:10px; background:linear-gradient(#55e4ff,#078ebc); color:#fff; font-weight:950; text-shadow:0 1px 2px #000; cursor:pointer; }

@media (max-height:720px) {
  .modal__box--cabinet,
  .modal__box--player-profile,
  .modal__box--private-message { transform:scale(.88); }
}


/* =========================================================
   v14 — компактные действия, живые ЛС и дружеский ник без
   зелёной рамки. Золотая/платиновая рамка статуса сохраняется.
   ========================================================= */

/* Друг меняет только цвет текста. Рамка всегда остаётся рамкой статуса. */
.classic-rush-ui .room-list li.is-friend .room-user-name > .status-nick__label,
.classic-rush-ui .room-list .room-user-name.is-friend > .status-nick__label,
.classic-rush-ui .chat-user-row.is-friend .chat-user-name > .status-nick__label,
.classic-rush-ui .chat-user-row .chat-user-name.is-friend > .status-nick__label {
  color:#59ff76 !important;
  text-shadow:0 2px 2px #000,0 0 8px rgba(67,255,101,.75) !important;
}

/* Кнопки справа от игрока у стола всегда помещаются целиком. */
.classic-rush-ui .room-list li.room-user-row,
.room-list li.room-user-row {
  display:grid !important;
  grid-template-columns:17px minmax(0,1fr) auto !important;
  align-items:center !important;
  column-gap:2px !important;
  width:100% !important;
  min-width:0 !important;
}
.classic-rush-ui .room-list li.room-user-row::before,
.room-list li.room-user-row::before {
  width:17px !important;
  min-width:17px !important;
  margin:0 !important;
}
.classic-rush-ui .room-list .room-user-name,
.room-list .room-user-name {
  width:100% !important;
  min-width:0 !important;
  padding-left:7px !important;
  padding-right:7px !important;
}
.classic-rush-ui .room-list .room-user-actions,
.room-list .room-user-actions {
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:1px !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  overflow:visible !important;
}
.classic-rush-ui .room-list .room-action,
.room-list .room-action,
.classic-rush-ui .room-list .room-skull,
.room-list .room-skull {
  width:15px !important;
  height:15px !important;
  min-width:15px !important;
  flex:0 0 15px !important;
  font-size:10px !important;
  line-height:13px !important;
}
.classic-rush-ui .room-list .room-message-action,
.room-list .room-message-action { font-size:9px !important; }

/* Общий чат: ник, молния модератора и три социальные кнопки. */
.classic-rush-ui .chat-user-row,
.classic-rush-ui .chat-user-row.status-vip-gold,
.classic-rush-ui .chat-user-row.status-vip-platinum,
.classic-rush-ui .chat-user-row.is-current {
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  justify-content:stretch !important;
  gap:3px !important;
  width:100% !important;
  height:29px !important;
  padding:2px 1px !important;
}
.classic-rush-ui .chat-user-row .chat-user-name-cell {
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:none !important;
  width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}
.classic-rush-ui .chat-user-row .chat-user-name {
  display:flex !important;
  flex:1 1 auto !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:22px !important;
  margin:0 !important;
  padding-left:16px !important;
  padding-right:6px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.classic-rush-ui .chat-user-row .chat-user-name > .status-nick__label {
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.classic-rush-ui .chat-user-row .chat-user-name .nick-bolt {
  display:block !important;
  left:3px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  font-size:10px !important;
}
.classic-rush-ui .chat-user-row .chat-user-actions {
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:1px !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.classic-rush-ui .chat-user-row .chat-user-actions .room-action,
.classic-rush-ui .chat-user-row .chat-user-actions .room-skull {
  position:static !important;
  display:inline-grid !important;
  place-items:center !important;
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
  border:1px solid rgba(104,228,255,.76) !important;
  border-radius:50% !important;
  background:linear-gradient(#39d9ff,#078fbe) !important;
  color:#032536 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.58),0 1px 2px rgba(0,0,0,.55) !important;
  font-size:10px !important;
  font-weight:950 !important;
  line-height:14px !important;
  cursor:pointer !important;
}
.classic-rush-ui .chat-user-row .chat-user-actions .room-message-action { font-size:9px !important; }
.classic-rush-ui .chat-user-row .chat-user-actions .room-friend-action.is-active {
  border-color:#84ff95 !important;
  background:linear-gradient(#9affaa,#24c94a) !important;
  color:#073b12 !important;
  box-shadow:0 0 7px rgba(63,255,97,.6),inset 0 1px 0 #fff !important;
}
.classic-rush-ui .chat-user-row .chat-user-actions .room-skull {
  border-color:#ff9494 !important;
  background:linear-gradient(#ff9a9a,#c93636) !important;
  color:#310000 !important;
}

/* Всплывающее уведомление о новом личном сообщении. */
.private-message-toast {
  position:fixed;
  z-index:12050;
  right:24px;
  bottom:24px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:2px 10px;
  width:min(340px,calc(100vw - 32px));
  padding:13px 16px;
  border:2px solid rgba(73,221,255,.88);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(7,79,108,.98),rgba(2,28,44,.99));
  color:#fff;
  text-align:left;
  box-shadow:0 14px 34px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.25),0 0 18px rgba(32,204,255,.28);
  opacity:0;
  transform:translateY(18px) scale(.96);
  pointer-events:none;
  transition:opacity .2s ease,transform .2s ease;
  cursor:pointer;
}
.private-message-toast.is-visible {
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
.private-message-toast b {
  grid-column:1 / -1;
  color:#8eeaff;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.private-message-toast strong {
  color:#5fff79;
  font-size:15px;
  white-space:nowrap;
}
.private-message-toast span {
  min-width:0;
  overflow:hidden;
  color:#e9f9ff;
  font-size:14px;
  text-overflow:ellipsis;
  white-space:nowrap;
}


/* ===== v15: постоянный индикатор непрочитанного личного сообщения ===== */
.private-alert-main {
  pointer-events:auto;
  position:absolute;
  left:205px;
  bottom:93px;
  z-index:48;
  display:none;
  place-items:center;
  width:42px;
  height:32px;
  padding:0;
  border:2px solid #fff06a;
  border-radius:17px;
  background:linear-gradient(#fff8aa,#ffd52f 52%,#d98a00);
  color:#573100;
  box-shadow:0 4px 7px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.88),0 0 9px rgba(255,211,42,.52);
  font-size:20px;
  font-weight:950;
  line-height:1;
  text-shadow:0 1px 0 rgba(255,255,255,.65);
  cursor:pointer;
  opacity:0;
  transform:translateY(4px) scale(.92);
}
.app--menu .private-alert-main.is-visible {
  display:grid;
  opacity:1;
  transform:translateY(0) scale(1);
  animation:privateEnvelopePulse 1.7s ease-in-out infinite;
}
.private-alert-main:hover {
  filter:brightness(1.08);
  animation-play-state:paused !important;
}
.private-alert-main span { transform:translateY(-1px); }
.private-alert-main b {
  position:absolute;
  right:-6px;
  top:-7px;
  min-width:17px;
  height:17px;
  padding:0 4px;
  border:1px solid #fff;
  border-radius:10px;
  background:#d71919;
  color:#fff;
  box-shadow:0 2px 4px rgba(0,0,0,.48);
  font-size:10px;
  font-style:normal;
  line-height:15px;
  text-align:center;
  text-shadow:0 1px 1px #500;
}

.classic-rush-ui .room-list .room-unread-message-action,
.room-list .room-unread-message-action,
.classic-rush-ui .chat-user-row .chat-user-actions .room-unread-message-action {
  border-color:#fff09a !important;
  background:linear-gradient(#fff9ad,#ffd32e 56%,#d88900) !important;
  color:#583100 !important;
  box-shadow:0 0 9px rgba(255,215,45,.78),inset 0 1px 0 rgba(255,255,255,.9) !important;
  animation:privateEnvelopePulse 1.7s ease-in-out infinite !important;
}
.classic-rush-ui .room-list .room-unread-message-action:hover,
.room-list .room-unread-message-action:hover,
.classic-rush-ui .chat-user-row .chat-user-actions .room-unread-message-action:hover {
  filter:brightness(1.12);
  animation-play-state:paused !important;
}

@keyframes privateEnvelopePulse {
  0%,100% { filter:brightness(1); box-shadow:0 0 6px rgba(255,210,35,.48),inset 0 1px 0 rgba(255,255,255,.86); }
  50% { filter:brightness(1.2); box-shadow:0 0 15px rgba(255,224,70,.98),inset 0 1px 0 rgba(255,255,255,1); }
}


/* ===== v16: кликабельные действия у игрока + конверт до обновления ===== */
/* Старое правило li > span задавало блоку всех действий ширину одной кнопки.
   Из-за этого рамка ника перекрывала черепок, плюс и конверт; крайний знак ?
   оставался единственным нормально нажимаемым элементом. */
.classic-rush-ui .room-list li.room-user-row > span.room-user-actions,
.room-list li.room-user-row > span.room-user-actions {
  position:relative !important;
  z-index:60 !important;
  grid-column:3 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:1px !important;
  width:max-content !important;
  min-width:max-content !important;
  max-width:none !important;
  height:18px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  pointer-events:auto !important;
  isolation:isolate !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-name,
.room-list li.room-user-row > .room-user-name {
  position:relative !important;
  z-index:1 !important;
}
.classic-rush-ui .room-list li.room-user-row > span.room-user-actions > button,
.room-list li.room-user-row > span.room-user-actions > button {
  position:relative !important;
  z-index:61 !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
}

/* ===== v17: прочитанный конверт серый, новое сообщение снова жёлтое ===== */
.private-alert-main.is-read {
  border-color:#d8e2e8;
  background:linear-gradient(#f4f7f8,#bdcbd2 55%,#72838d);
  color:#24343d;
  box-shadow:0 4px 7px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.88),0 0 5px rgba(190,210,220,.25);
}
.app--menu .private-alert-main.is-visible.is-read {
  animation:none;
}
.private-alert-main.is-unread {
  border-color:#fff06a;
  background:linear-gradient(#fff8aa,#ffd52f 52%,#d98a00);
  color:#573100;
}
.app--menu .private-alert-main.is-visible.is-unread {
  animation:privateEnvelopePulse 1.7s ease-in-out infinite;
}

.classic-rush-ui .room-list .room-unread-message-action.is-read,
.room-list .room-unread-message-action.is-read,
.classic-rush-ui .chat-user-row .chat-user-actions .room-unread-message-action.is-read {
  border-color:#d7e3e9 !important;
  background:linear-gradient(#f4f7f8,#bdcbd2 56%,#72838d) !important;
  color:#24343d !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 3px rgba(0,0,0,.48) !important;
  animation:none !important;
}
.classic-rush-ui .room-list .room-unread-message-action.is-unread,
.room-list .room-unread-message-action.is-unread,
.classic-rush-ui .chat-user-row .chat-user-actions .room-unread-message-action.is-unread {
  border-color:#fff09a !important;
  background:linear-gradient(#fff9ad,#ffd32e 56%,#d88900) !important;
  color:#583100 !important;
  box-shadow:0 0 9px rgba(255,215,45,.78),inset 0 1px 0 rgba(255,255,255,.9) !important;
  animation:privateEnvelopePulse 1.7s ease-in-out infinite !important;
}

/* ===== v17: ручная докупка после проигранного all-in ===== */
.app--poker-table .poker-rebuy-panel {
  position:absolute;
  left:258px;
  top:194px;
  z-index:62;
  width:328px;
  min-height:92px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:4px 10px;
  padding:10px 13px;
  border:2px solid #ffe35c;
  border-radius:17px;
  background:linear-gradient(180deg,rgba(9,83,112,.98),rgba(2,31,48,.99));
  box-shadow:0 10px 20px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.25),0 0 16px rgba(255,215,54,.28);
  color:#eafaff;
  pointer-events:auto;
  text-shadow:0 1px 1px #00151f;
}
.app--poker-table .poker-rebuy-panel > b {
  grid-column:1 / -1;
  color:#fff36d;
  font-size:15px;
  text-align:center;
}
.app--poker-table .poker-rebuy-panel > span {
  min-width:0;
  color:#ddf7ff;
  font-size:12px;
  font-weight:850;
}
.app--poker-table .poker-rebuy-panel > button {
  min-width:142px;
  height:34px;
  padding:0 12px;
  border:1px solid #fff5a0;
  border-radius:18px;
  background:linear-gradient(#fff277,#ffc52b 55%,#d57a00);
  color:#3c2200;
  font-size:12px;
  font-weight:950;
  box-shadow:inset 0 2px rgba(255,255,255,.72),inset 0 -3px rgba(117,67,0,.24),0 4px 7px rgba(0,0,0,.36);
  cursor:pointer;
}
.app--poker-table .poker-rebuy-panel > button:hover:not(:disabled) { filter:brightness(1.1); }
.app--poker-table .poker-rebuy-panel > button:disabled {
  border-color:#9ca9ae;
  background:linear-gradient(#d6dcdf,#8f9ca2 58%,#59646a);
  color:#29363c;
  cursor:not-allowed;
  opacity:.85;
}
.app--poker-table .poker-rebuy-panel > small {
  grid-column:1 / -1;
  color:#bdefff;
  font-size:11px;
  font-weight:850;
  text-align:center;
}
.app--poker-table .poker-rebuy-panel > small strong {
  display:inline-grid;
  place-items:center;
  min-width:22px;
  height:20px;
  margin:0 2px;
  border-radius:10px;
  background:#05161e;
  color:#66ff80;
  box-shadow:inset 0 0 5px rgba(0,0,0,.7);
  font-size:12px;
}
.app--poker-table .poker-rebuy-panel.is-empty {
  border-color:#ff9a8e;
  box-shadow:0 10px 20px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.2),0 0 13px rgba(255,70,55,.23);
}
.app--poker-table .poker-rebuy-panel.is-empty > b { color:#ffb2a8; }

/* ===== v18: ready confirmation, result cards and reliable table exit ===== */
.app--table .exit-btn,
.app--table .sit-btn {
  z-index: 520 !important;
  pointer-events: auto !important;
  cursor: pointer;
}

.game-dialog-shade {
  position: absolute;
  inset: 0;
  z-index: 460;
  display: grid;
  place-items: center;
  padding: 58px 120px 78px;
  background: radial-gradient(circle at 50% 42%, rgba(2, 56, 82, .18), rgba(0, 13, 24, .72));
  pointer-events: auto;
}

.game-dialog {
  position: relative;
  width: min(460px, 100%);
  padding: 34px 30px 26px;
  border: 3px solid #23c9f2;
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% 0, rgba(62, 206, 244, .28), transparent 42%),
    linear-gradient(180deg, #0c5d7c 0%, #073c57 44%, #031e31 100%);
  box-shadow:
    0 18px 30px rgba(0, 0, 0, .62),
    inset 0 0 0 2px rgba(190, 239, 255, .18),
    inset 0 0 26px rgba(37, 204, 244, .15);
  color: #eefcff;
  text-align: center;
  text-shadow: 0 2px 2px #00131e;
}

.game-dialog::before {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px solid rgba(181, 235, 255, .28);
  border-radius: 17px;
  pointer-events: none;
}

.game-dialog-icon {
  position: absolute;
  left: 50%;
  top: -28px;
  width: 56px;
  height: 56px;
  transform: translateX(-50%);
  display: grid;
  place-items: center;
  border: 3px solid #ffe15a;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 28%, #fff6a7, #f0a20b 52%, #9a5400 100%);
  color: #183349;
  font-size: 28px;
  font-weight: 1000;
  box-shadow: 0 5px 11px rgba(0, 0, 0, .48), 0 0 18px rgba(255, 214, 55, .48);
  text-shadow: 0 1px 0 rgba(255, 255, 255, .65);
}

.game-dialog h3 {
  position: relative;
  margin: 4px 0 10px;
  font-size: 25px;
  line-height: 1.16;
  font-weight: 1000;
  color: #fff;
}

.game-dialog p {
  position: relative;
  margin: 0 0 16px;
  color: #cdefff;
  font-size: 15px;
  font-weight: 850;
}

.game-ready-progress {
  position: relative;
  margin: 0 auto 18px;
  padding: 10px 14px;
  border: 1px solid rgba(97, 215, 249, .55);
  border-radius: 12px;
  background: rgba(0, 18, 31, .42);
  color: #dff8ff;
  font-size: 15px;
  font-weight: 900;
}

.game-ready-progress b,
.game-ready-progress strong {
  color: #ffe45f;
  font-size: 18px;
}

.game-dialog-buttons {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 14px;
}

.game-dialog-buttons button,
.game-result-close {
  min-width: 128px;
  height: 43px;
  border: 2px solid rgba(255, 255, 255, .58);
  border-radius: 22px;
  color: #fff;
  font-size: 18px;
  font-weight: 1000;
  text-shadow: 0 2px 1px rgba(0, 0, 0, .72);
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .35), 0 5px 9px rgba(0, 0, 0, .38);
  cursor: pointer;
}

.game-dialog-buttons button:disabled {
  opacity: .66;
  cursor: wait;
}

.game-dialog-yes,
.game-result-close {
  background: linear-gradient(#56e372, #15953e 54%, #086429);
}

.game-dialog-yes.is-selected {
  border-color: #fff064;
  box-shadow: 0 0 17px rgba(255, 231, 78, .55), inset 0 2px 0 rgba(255, 255, 255, .42);
}

.game-dialog-no {
  background: linear-gradient(#ef6b6b, #b5222c 54%, #721019);
}

.game-result-dialog {
  width: min(500px, 100%);
}

.game-result-list {
  position: relative;
  display: grid;
  gap: 7px;
  margin: 0 0 18px;
}

.game-result-row {
  min-height: 42px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 116px 132px;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border: 1px solid rgba(130, 222, 250, .42);
  border-radius: 10px;
  background: rgba(0, 17, 29, .48);
  text-align: left;
}

.game-result-row span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #fff;
  font-size: 16px;
  font-weight: 950;
}

.game-result-row b {
  text-align: center;
  font-size: 13px;
  letter-spacing: .4px;
}

.game-result-row em {
  text-align: right;
  font-style: normal;
  font-size: 14px;
  font-weight: 950;
}

.game-result-row.is-winner {
  border-color: rgba(255, 222, 74, .8);
  background: linear-gradient(90deg, rgba(93, 65, 0, .55), rgba(13, 63, 48, .55));
}

.game-result-row.is-winner b,
.game-result-row.is-winner em {
  color: #fff06a;
}

.game-result-row.is-loser b,
.game-result-row.is-loser em {
  color: #ff9c9c;
}

.game-result-close {
  position: relative;
  min-width: 160px;
}

.app--durak-table .game-dialog-shade,
.app--pool-table .game-dialog-shade {
  border-radius: 10px;
}


/* ===== v19: gameplay-safe profile and surrender result ===== */
.app--table .profile-card,
.app--table .small-cabinet {
  pointer-events: none !important;
  cursor: default !important;
}

.app--table .profile-card * {
  pointer-events: none !important;
}

.app--poker-table .game-dialog-shade {
  border-radius: 10px;
}


/* v20: недоступные пункты меню — без текста и в нейтральном сером цвете */
.placeholder-button,
.placeholder-button:disabled {
  color: transparent !important;
  text-shadow: none !important;
  cursor: default !important;
  pointer-events: none !important;
  opacity: .78 !important;
  filter: grayscale(1) saturate(0) !important;
  background-image: linear-gradient(180deg, #8f9aa1, #5f696f) !important;
  border-color: #aeb7bc #4a5358 #454d52 #a5afb4 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), inset 0 -1px 0 rgba(0,0,0,.28), 0 1px 2px rgba(0,0,0,.3) !important;
}
.placeholder-button::before,
.placeholder-button::after,
.placeholder-button > span,
.placeholder-button > small,
.placeholder-button > b:not(#onlineCount) {
  color: transparent !important;
  text-shadow: none !important;
  content: '' !important;
}

/* v21: MAX LIMIT / AUTO REBUY перенесены в свободный верхний левый угол.
   Панель больше не перекрывается аватаром/балансом и всегда принимает клики. */
.app--poker-table .poker-table-options {
  position: absolute;
  left: 20px;
  top: 60px;
  bottom: auto;
  z-index: 96;
  display: grid;
  gap: 10px;
  min-width: 158px;
  padding: 10px 12px;
  border: 1px solid rgba(65, 204, 231, .34);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(8, 54, 73, .92), rgba(4, 31, 44, .96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 5px 15px rgba(0,0,0,.28);
  backdrop-filter: blur(2px);
  pointer-events: auto;
  touch-action: manipulation;
}
.app--poker-table .poker-table-options label {
  position: relative;
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 24px;
  color: #7fd2f1;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .35px;
  cursor: pointer;
  user-select: none;
}
.app--poker-table .poker-table-options input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.app--poker-table .poker-table-options label > i {
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  border-radius: 5px;
  border: 1px solid #32a8cf;
  background: linear-gradient(180deg, #093f58, #031f2d);
  box-shadow: inset 0 1px 2px rgba(0,0,0,.8), 0 0 0 1px rgba(0,0,0,.24);
}
.app--poker-table .poker-table-options input:checked + i {
  background: linear-gradient(180deg, #2dc2ea, #087aa5);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 0 9px rgba(32,194,235,.45);
}
.app--poker-table .poker-table-options input:checked + i::after {
  content: '✓';
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: white;
  font-size: 14px;
  font-style: normal;
  font-weight: 1000;
  text-shadow: 0 1px 1px rgba(0,0,0,.45);
}
.app--poker-table .poker-table-options input:focus-visible + i {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.app--poker-table .poker-table-options input:disabled + i,
.app--poker-table .poker-table-options input:disabled ~ span {
  opacity: .55;
}

/* После удаления ID публичный профиль аккуратно заполняет строку тремя блоками. */
.public-profile-meta {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* Poker v24: LiveGames-style arrow bet selector. */
.app--poker-table .poker-actions--arrow-betting {
  min-height: 92px;
  padding: 46px 10px 7px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: end;
  gap: 10px;
  overflow: visible;
}

.app--poker-table .poker-actions--arrow-betting > button {
  width: 100%;
  min-width: 0;
  max-width: none;
  height: 34px;
}

.app--poker-table .poker-bet-arrow-panel {
  position: absolute;
  left: 50%;
  top: 7px;
  width: 340px;
  height: 34px;
  padding: 3px 5px;
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: 34px 34px 34px minmax(92px, 1fr) 34px 34px 34px;
  align-items: center;
  gap: 3px;
  border: 2px solid rgba(218,246,255,.92);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(25,101,137,.98), rgba(3,45,69,.99));
  box-shadow: inset 0 2px 0 rgba(255,255,255,.36), inset 0 -4px 7px rgba(0,0,0,.32), 0 4px 8px rgba(0,0,0,.42);
  z-index: 4;
}

.app--poker-table .poker-bet-arrow-panel .bet-arrow {
  width: 34px;
  min-width: 34px;
  height: 26px;
  padding: 0;
  border: 1px solid rgba(206,244,255,.9);
  border-radius: 13px;
  color: #18394b;
  font-family: Arial, sans-serif;
  font-size: 22px;
  line-height: 22px;
  font-weight: 950;
  letter-spacing: -4px;
  text-indent: -2px;
  background: linear-gradient(#f6fdff, #c2ebfa 50%, #68b8da);
  box-shadow: inset 0 2px rgba(255,255,255,.92), inset 0 -3px rgba(18,83,117,.22), 0 2px 4px rgba(0,0,0,.38);
}

.app--poker-table .poker-bet-arrow-panel .bet-arrow:hover {
  filter: brightness(1.12);
}

.app--poker-table .poker-bet-arrow-panel .bet-arrow:active {
  transform: translateY(1px);
  box-shadow: inset 0 2px 5px rgba(0,0,0,.28);
}

.app--poker-table .poker-bet-arrow-panel output {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 25px;
  min-width: 0;
  padding: 0 8px;
  border: 1px solid rgba(112,222,255,.78);
  border-radius: 9px;
  color: #fff6a7;
  font-size: 13px;
  font-weight: 950;
  text-shadow: 0 2px 2px #001821;
  background:
    repeating-linear-gradient(90deg, rgba(83,204,244,.18) 0 5px, rgba(255,255,255,.05) 5px 7px),
    linear-gradient(180deg, #1f7fa6, #07506f);
  box-shadow: inset 0 2px 5px rgba(0,0,0,.42);
  white-space: nowrap;
}

.app--poker-table #pokerArrowBetButton {
  color: #17384a;
  border-color: rgba(221,250,255,.92);
  background: linear-gradient(#f8feff, #c3edfb 50%, #68b8da);
}


/* ===== v26: billiards clock, break rules and polished balance warning ===== */
.classic-rush-ui .app--pool-table .pool-rank-icons {
  display: none !important;
}

.classic-rush-ui .app--pool-table .pool-player-badge > b {
  left: 4px !important;
  right: 4px !important;
  font-size: 11px !important;
}

.classic-rush-ui .app--pool-table .pool-player-badge > b .seat-nick__label {
  display: block;
  max-width: 100%;
  padding: 0 15px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: center;
}

.classic-rush-ui .app--pool-table .pool-player-badge > b .nick-bolt {
  left: 3px !important;
  top: 50% !important;
  font-size: 12px !important;
  transform: translateY(-50%) rotate(-10deg) !important;
}

.classic-rush-ui .app--pool-table .pool-turn-clock {
  position: absolute;
  left: 18px;
  right: 18px;
  top: 62px;
  z-index: 10;
  height: 18px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 3px;
  padding: 1px 5px;
  border: 1px solid rgba(219, 250, 255, .92);
  border-radius: 10px;
  color: #f6fdff;
  background: linear-gradient(180deg, rgba(28, 161, 202, .98), rgba(5, 75, 108, .98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 2px 5px rgba(0,0,0,.48), 0 0 8px rgba(38,202,240,.38);
  text-shadow: 0 1px 1px #00141f;
  white-space: nowrap;
}

.classic-rush-ui .app--pool-table .pool-turn-clock strong {
  font: 1000 10px/1 Arial, sans-serif;
  color: #fff36d;
  text-align: right;
}

.classic-rush-ui .app--pool-table .pool-turn-clock small {
  font: 900 8px/1 Arial, sans-serif;
  color: #ddf8ff;
  text-align: left;
}

.classic-rush-ui .app--pool-table .pool-turn-clock.is-extra {
  border-color: #ffd875;
  background: linear-gradient(180deg, #c85c18, #7e240d);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 2px 5px rgba(0,0,0,.5), 0 0 10px rgba(255,112,29,.52);
  animation: poolExtraClockPulse .8s ease-in-out infinite alternate;
}

.classic-rush-ui .app--pool-table .pool-turn-clock.is-extra strong {
  color: #fff;
}

@keyframes poolExtraClockPulse {
  from { filter: brightness(.95); }
  to { filter: brightness(1.2); }
}

.classic-rush-ui .app--pool-table .pool-break-zone-note {
  position: absolute;
  left: calc(72.5% + 8px);
  top: 9px;
  z-index: 8;
  padding: 4px 8px;
  border: 1px solid rgba(220,247,255,.72);
  border-radius: 10px;
  color: #effcff;
  font-size: 10px;
  font-weight: 950;
  background: rgba(2, 57, 81, .82);
  box-shadow: 0 2px 5px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.2);
  text-shadow: 0 1px 1px #001722;
  pointer-events: none;
}

.modal__box--notice {
  width: 500px;
  min-height: 310px;
  padding: 54px 42px 30px;
  border-color: #40d5f3;
  background:
    radial-gradient(circle at 50% 0, rgba(55,211,247,.25), transparent 42%),
    linear-gradient(180deg, #0b5b78, #06374f 52%, #031d2e);
}

.modal__box--notice.is-chip-warning {
  border-color: #ffd757;
  box-shadow: 0 16px 34px rgba(0,0,0,.58), inset 0 0 28px rgba(40,194,232,.18), 0 0 22px rgba(255,190,32,.18);
}

.notice-icon {
  position: absolute;
  left: 50%;
  top: -34px;
  width: 68px;
  height: 68px;
  transform: translateX(-50%);
  display: grid;
  place-items: center;
  border: 4px solid #fff0a0;
  border-radius: 50%;
  color: #3b2500;
  font: 1000 38px/1 Arial, sans-serif;
  background:
    radial-gradient(circle at 35% 28%, #fffbd0 0 12%, transparent 13%),
    radial-gradient(circle, #ffe65e 0 48%, #e99d0e 70%, #9b5500 100%);
  box-shadow: 0 7px 13px rgba(0,0,0,.5), 0 0 20px rgba(255,202,37,.55);
  text-shadow: 0 1px 0 rgba(255,255,255,.75);
}

.modal__box--notice h2 {
  margin: 4px 0 12px;
  color: #fff36d;
  font-size: 27px;
}

.notice-message {
  margin: 0 auto 17px;
  max-width: 390px;
  color: #e6f8ff;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.35;
  text-align: center;
}

.notice-balance {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0 auto 22px;
}

.notice-balance[hidden] { display: none !important; }

.notice-balance span {
  padding: 11px 10px;
  border: 1px solid rgba(126,225,250,.55);
  border-radius: 12px;
  color: #dff8ff;
  font-size: 14px;
  font-weight: 900;
  background: rgba(0,19,31,.48);
  box-shadow: inset 0 0 8px rgba(27,177,216,.12);
}

.notice-balance b {
  display: block;
  margin-top: 3px;
  color: #fff066;
  font-size: 21px;
}

.notice-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.notice-actions button {
  min-width: 175px;
}

.notice-actions button:last-child {
  color: #eafaff;
  background: linear-gradient(#4c91ad, #1b5773 54%, #0a344d);
}

.game-result-row.is-timeout {
  border-color: rgba(255,126,96,.75);
  background: linear-gradient(90deg, rgba(92,23,14,.62), rgba(42,19,24,.54));
}

.game-result-row.is-timeout b {
  color: #ffb08e;
  font-size: 11px;
}

@media (prefers-reduced-motion: reduce) {
  .classic-rush-ui .app--pool-table .pool-turn-clock.is-extra { animation: none !important; }
}


/* Таймер занимает освободившееся место красных значков, ник и баланс ниже. */
.classic-rush-ui .app--pool-table .pool-turn-clock { top: 74px !important; }
.classic-rush-ui .app--pool-table .pool-player-badge > b { top: 94px !important; }
.classic-rush-ui .app--pool-table .pool-player-badge > em { top: 118px !important; }

/* v27: фиксированные стороны игроков, оба таймера и указатели групп шаров. */
.classic-rush-ui .app--pool-table .pool-turn-clock.is-paused {
  opacity: .62;
  filter: saturate(.62) brightness(.88);
  border-color: rgba(190, 220, 229, .72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 2px 4px rgba(0,0,0,.38);
}
.classic-rush-ui .app--pool-table .pool-turn-clock.is-paused strong { color: #e9f6fa; }
.classic-rush-ui .app--pool-table .pool-turn-clock.is-running:not(.is-extra) {
  opacity: 1;
  filter: none;
}

.classic-rush-ui .app--pool-table .pool-rack-body {
  grid-template-columns: 56px 1fr !important;
  gap: 5px !important;
}
.classic-rush-ui .app--pool-table .pool-rack-side-panel {
  display: grid;
  grid-template-rows: 24px 18px;
  place-items: center;
  gap: 2px;
  min-width: 0;
  padding: 2px 3px;
  border: 2px solid #3d160d;
  border-radius: 5px;
  background: linear-gradient(180deg,#78361f,#34140d);
  box-shadow: inset 0 2px 4px rgba(0,0,0,.48), inset 0 -1px rgba(255,255,255,.08);
}
.classic-rush-ui .app--pool-table .pool-group-markers {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 45px;
  min-width: 45px;
  height: 22px;
}
.classic-rush-ui .app--pool-table .pool-group-marker {
  position: relative;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 50%;
  color: #111;
  font: 1000 7px/1 Arial,sans-serif;
  background:
    radial-gradient(circle at 29% 23%,rgba(255,255,255,.96) 0 7%,transparent 20%),
    radial-gradient(circle at 35% 31%,color-mix(in srgb,var(--ball-color) 63%,white) 0 22%,var(--ball-color) 49%,color-mix(in srgb,var(--ball-color) 64%,black) 100%);
  box-shadow: inset -3px -4px 5px rgba(0,0,0,.36), 0 1px 3px rgba(0,0,0,.72);
}
.classic-rush-ui .app--pool-table .pool-group-marker::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  transform: translate(-50%,-50%);
  background: #f5f1e8;
  box-shadow: 0 0 0 1px rgba(0,0,0,.16);
}
.classic-rush-ui .app--pool-table .pool-group-marker span {
  position: relative;
  z-index: 2;
}
.classic-rush-ui .app--pool-table .pool-group-marker.pool-ball--stripe {
  background:
    radial-gradient(circle at 29% 23%,rgba(255,255,255,.96) 0 7%,transparent 20%),
    linear-gradient(#f5f1e8 0 24%,var(--ball-color) 25% 75%,#e5ded1 76% 100%);
}
.classic-rush-ui .app--pool-table .pool-group-marker.is-empty {
  border-color: rgba(150,88,57,.55);
  background: radial-gradient(circle,#1e0d08 0 52%,#572719 57% 100%);
  box-shadow: inset 0 2px 5px #000;
  opacity: .72;
}
.classic-rush-ui .app--pool-table .pool-group-marker.is-empty::after { display: none; }
.classic-rush-ui .app--pool-table .pool-group-marker--left { transform: translateX(-1px); }
.classic-rush-ui .app--pool-table .pool-group-marker--right { transform: translateX(1px); }
.classic-rush-ui .app--pool-table .pool-rack-eight-mini {
  display: grid;
  place-items: center;
  width: 22px;
  height: 16px;
}
.classic-rush-ui .app--pool-table .pool-rack-eight-mini .pool-rack-ball,
.classic-rush-ui .app--pool-table .pool-rack-eight-mini .pool-rack-eight-slot {
  width: 13px !important;
  height: 13px !important;
  flex-basis: 13px !important;
}
.classic-rush-ui .app--pool-table .pool-rack-eight-mini .pool-rack-ball {
  font-size: 5px !important;
}
.classic-rush-ui .app--pool-table .pool-rack-eight-mini .pool-rack-ball::after {
  width: 6px;
  height: 6px;
}


/* ===== v28: ready confirmation UX and clearly visible pool stake ===== */
.classic-rush-ui .app--pool-table .pool-player-badge > em {
  display: none !important;
}

.classic-rush-ui .app--pool-table .pool-player-stake {
  position: absolute;
  top: 32px;
  z-index: 11;
  width: 34px;
  min-height: 36px;
  display: grid;
  place-content: center;
  gap: 1px;
  padding: 3px 2px;
  border: 1px solid rgba(255, 232, 101, .95);
  border-radius: 8px;
  color: #fff8a1;
  background:
    radial-gradient(circle at 50% 0, rgba(255, 221, 71, .22), transparent 55%),
    linear-gradient(180deg, #154b63, #082f46 58%, #041f31);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.25),
    inset 0 -2px 4px rgba(0,0,0,.32),
    0 2px 5px rgba(0,0,0,.46),
    0 0 7px rgba(255,199,32,.22);
  text-align: center;
  text-shadow: 0 1px 1px #000;
  pointer-events: none;
}

.classic-rush-ui .app--pool-table .pool-player-badge--left .pool-player-stake {
  right: 0;
}

.classic-rush-ui .app--pool-table .pool-player-badge--right .pool-player-stake {
  left: 0;
}

.classic-rush-ui .app--pool-table .pool-player-stake small {
  display: block;
  color: #d7f4ff;
  font: 900 7px/1 Arial, sans-serif;
  letter-spacing: .1px;
  text-transform: uppercase;
}

.classic-rush-ui .app--pool-table .pool-player-stake strong {
  display: block;
  max-width: 30px;
  overflow: hidden;
  color: #fff36d;
  font: 1000 9px/1.05 Arial, sans-serif;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Таймер и ник остаются выше верхних луз; ставка вынесена сбоку от аватара. */
.classic-rush-ui .app--pool-table .pool-turn-clock {
  top: 73px !important;
}

.classic-rush-ui .app--pool-table .pool-player-badge > b {
  top: 94px !important;
}

.classic-rush-ui .app--pool-table .pool-player-badge.is-empty > em {
  display: block !important;
  top: 106px !important;
}


/* === v29: единая стандартная аватарка без белого квадратного фона === */
.classic-rush-ui .profile-avatar:not(.has-image),
.classic-rush-ui .poker-avatar:not(.has-image),
.classic-rush-ui .durak-avatar:not(.has-image),
.classic-rush-ui .pool-player-portrait:not(.has-image),
.classic-rush-ui .friend-avatar:not(.has-image),
.classic-rush-ui .inbox-avatar:not(.has-image),
.classic-rush-ui .public-profile-avatar:not(.has-image),
.classic-rush-ui .ranking-avatar:not(.has-image) {
  border-color: transparent !important;
  background-color: transparent !important;
  background-image: url("../assets/default-avatar.png") !important;
  background-position: center bottom !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.classic-rush-ui .profile-avatar:not(.has-image)::before,
.classic-rush-ui .profile-avatar:not(.has-image)::after,
.classic-rush-ui .poker-avatar:not(.has-image)::before,
.classic-rush-ui .poker-avatar:not(.has-image)::after,
.classic-rush-ui .durak-avatar:not(.has-image)::before,
.classic-rush-ui .durak-avatar:not(.has-image)::after,
.classic-rush-ui .pool-player-portrait:not(.has-image)::before,
.classic-rush-ui .pool-player-portrait:not(.has-image)::after {
  display: none !important;
}

/* Загруженные фотографии по-прежнему остаются в аккуратной рамке. */
.classic-rush-ui .profile-avatar.has-image,
.classic-rush-ui .poker-avatar.has-image,
.classic-rush-ui .durak-avatar.has-image,
.classic-rush-ui .pool-player-portrait.has-image,
.classic-rush-ui .friend-avatar.has-image,
.classic-rush-ui .inbox-avatar.has-image,
.classic-rush-ui .public-profile-avatar.has-image {
  background-position: center !important;
  background-size: cover !important;
  overflow: hidden !important;
}

/* При блокировке чата блокируется и отправка личных сообщений. */
.private-message-form textarea.is-chat-blocked {
  border-color: #ff5454 !important;
  background: rgba(25, 43, 52, .92) !important;
  color: #ffb3b3 !important;
  cursor: not-allowed !important;
  opacity: .9;
}

.private-message-form button.is-chat-blocked {
  border-color: #7d3d44 !important;
  background: linear-gradient(#78636a, #45383d) !important;
  color: #c9b7bb !important;
  cursor: not-allowed !important;
  filter: grayscale(.7);
  opacity: .78;
}


/* === v30: статусный венок в публичном профиле игрока === */
.public-profile-avatar-stage {
  position: relative;
  display: grid;
  place-items: center;
  width: 118px;
  height: 104px;
  flex: 0 0 118px;
  overflow: visible;
}

.public-profile-avatar-stage .public-profile-avatar {
  position: relative;
  z-index: 4;
  flex: 0 0 86px;
}

.classic-rush-ui .public-profile-avatar-stage .rank-wreath--public-profile {
  left: -12px;
  top: -16px;
  width: 142px;
  height: 118px;
  z-index: 2;
}

.classic-rush-ui .public-profile-avatar-stage.status-vip-platinum > .platinum-sparks--wreath {
  display: block;
  left: -12px;
  top: -16px;
  width: 142px;
  height: 118px;
}

.classic-rush-ui .public-profile-avatar-stage > .platinum-sparks--wreath {
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  overflow: visible !important;
}


/* === v32: fourth game card + transferable Durak === */
.game-grid--four {
  left: 42px;
  top: 172px;
  width: 1015px;
  grid-template-columns: repeat(4, 235px);
  column-gap: 24px;
  justify-content: center;
}
.classic-rush-ui .app--menu .game-grid--four {
  left: 42px;
  top: 128px;
  width: 1015px;
  grid-template-columns: repeat(4, 235px);
  column-gap: 24px;
  justify-content: center;
}
.classic-rush-ui .app--menu .game-grid--four .game-card { height: 300px; }
.classic-rush-ui .app--menu .game-grid--four .game-card__plate {
  left: 27px;
  width: 181px;
  height: 157px;
}
.classic-rush-ui .app--menu .game-grid--four .game-card__count { right: 22px; top: -7px; }
.classic-rush-ui .app--menu .game-grid--four .game-card h3 {
  top: 116px;
  font-size: 26px;
}
.classic-rush-ui .app--menu .game-grid--four .game-card p {
  left: 13px;
  top: 222px;
  width: 209px;
  font-size: 15px;
}
.classic-rush-ui .app--menu .game-grid--four .icon--durak::before { left: 31px; transform: rotate(-12deg) scale(.9); }
.classic-rush-ui .app--menu .game-grid--four .icon--durak::after { left: 84px; transform: rotate(12deg) scale(.9); }
.icon--durak-transfer::marker { content:""; }
.icon--durak-transfer span { display:none; }
.icon--durak-transfer { overflow:visible; }
.icon--durak-transfer::after { box-shadow:0 5px 8px rgba(0,0,0,.35), 0 0 0 4px rgba(255,218,61,.3); }
.game-card[data-kind="durak-transfer"] .game-card__plate::after {
  content:"↻";
  right:-2px;
  top:103px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff36b;
  font:950 30px/1 Arial,sans-serif;
  background:linear-gradient(#1bbfe8,#05698f);
  border:3px solid #ffd54b;
  text-shadow:0 2px 2px #002b3d;
  box-shadow:0 4px 7px rgba(0,0,0,.45),inset 0 2px rgba(255,255,255,.25);
  transform:none;
}


/* === V33: перевод прямо на столе + запрет перевода в первом кону === */
.app--durak-table .durak-battle.has-transfer-slot {
  width: 470px;
}

.app--durak-table .durak-transfer-slot {
  position: relative;
  flex: 0 0 72px;
  width: 72px;
  height: 120px;
  margin-left: 2px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  z-index: 12;
  transform: rotate(2deg);
  pointer-events: none;
  user-select: none;
}

.app--durak-table .durak-transfer-slot__frame {
  width: 58px;
  height: 80px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 3px solid rgba(119, 255, 141, .92);
  border-radius: 9px;
  background:
    linear-gradient(145deg, rgba(11, 153, 67, .28), rgba(0, 72, 34, .46)),
    repeating-linear-gradient(45deg, rgba(255,255,255,.055) 0 3px, transparent 3px 8px);
  box-shadow:
    0 7px 10px rgba(0,0,0,.38),
    0 0 12px rgba(89,255,120,.48),
    inset 0 0 14px rgba(91,255,137,.17);
}

.app--durak-table .durak-transfer-slot__frame > i {
  color: #a2ff9c;
  font: 950 34px/1 Arial, sans-serif;
  text-shadow: 0 0 10px rgba(114,255,129,.95), 0 2px 2px #003c20;
}

.app--durak-table .durak-transfer-slot > b,
.app--durak-table .durak-transfer-slot > span {
  display: block;
  width: 92px;
  text-align: center;
  text-shadow: 0 2px 2px rgba(0,0,0,.88);
}

.app--durak-table .durak-transfer-slot > b {
  margin-top: 3px;
  color: #baff9f;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .35px;
}

.app--durak-table .durak-transfer-slot > span {
  margin-top: 1px;
  color: rgba(230,255,235,.82);
  font-size: 9px;
  font-weight: 900;
}

.app--durak-table .durak-transfer-slot.is-waiting {
  animation: durakTransferHintPulse 1.25s ease-in-out infinite;
}

.app--durak-table .durak-transfer-slot.is-ready {
  pointer-events: auto;
  cursor: pointer;
  transform: rotate(2deg) translateY(-3px) scale(1.03);
  filter: drop-shadow(0 0 10px rgba(113,255,116,.72));
  transition: transform .16s ease, filter .16s ease;
}

.app--durak-table .durak-transfer-slot.is-ready:hover {
  transform: rotate(0deg) translateY(-8px) scale(1.08);
  filter: drop-shadow(0 0 15px rgba(128,255,123,.98)) drop-shadow(0 0 6px rgba(60,220,255,.68));
}

.app--durak-table .durak-transfer-preview.poker-card {
  width: 54px;
  height: 76px;
  border-width: 2px;
  border-radius: 7px;
  opacity: .82;
  box-shadow: none;
}

.app--durak-table .durak-transfer-preview .poker-card__corner {
  width: 17px;
}

.app--durak-table .durak-transfer-preview .poker-card__corner i:first-child { font-size: 12px; }
.app--durak-table .durak-transfer-preview .poker-card__corner i:last-child { font-size: 13px; }
.app--durak-table .durak-transfer-preview .poker-card__suit { top: 22px; font-size: 31px; }

.app--durak-table .durak-deck-zone.has-transfer-zone {
  right: 82px;
}

@keyframes durakTransferHintPulse {
  0%, 100% { opacity: .72; filter: drop-shadow(0 0 4px rgba(94,255,118,.34)); }
  50% { opacity: 1; filter: drop-shadow(0 0 11px rgba(107,255,121,.82)); }
}


/* V34: interactive lobby table selection and buttons */
.lobby-table td.table-slot {
  transition: background .16s ease, box-shadow .16s ease, color .16s ease, filter .16s ease;
}
.lobby-table td.table-slot.is-empty {
  cursor: default;
}
.lobby-table td.table-slot.is-available {
  cursor: pointer;
}
.lobby-table td.table-slot--players.is-available:hover,
.lobby-table td.table-slot--players.is-available:hover + td.table-slot--stake.is-available,
.lobby-table td.table-slot--players.is-available:has(+ td.table-slot--stake.is-available:hover),
.lobby-table td.table-slot--stake.is-available:hover {
  background: linear-gradient(180deg, rgba(43, 171, 232, .88), rgba(20, 112, 181, .88));
  color: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(145, 236, 255, .95), inset 0 0 16px rgba(55, 213, 255, .42);
}
.lobby-table td.table-slot.is-selected,
.classic-rush-ui .lobby-table td.table-slot.is-selected {
  background: linear-gradient(180deg, rgba(38, 197, 255, .98), rgba(13, 101, 190, .98));
  color: #ffffff;
  box-shadow:
    inset 0 0 0 2px rgba(185, 248, 255, .98),
    inset 0 0 20px rgba(74, 229, 255, .58),
    0 0 10px rgba(31, 205, 255, .7);
  text-shadow: 0 1px 2px rgba(0, 20, 50, .95);
}
.lobby-table td.table-slot--players.is-selected {
  border-right-color: rgba(95, 222, 255, .68);
}
.lobby-table td.table-slot--stake.is-selected {
  border-left-color: rgba(95, 222, 255, .68);
}

.create-table,
.lobby-buttons button {
  transition: transform .14s ease, filter .14s ease, box-shadow .14s ease, opacity .14s ease;
  will-change: transform;
}
.create-table:hover {
  transform: translateY(-3px);
  filter: brightness(1.06);
  box-shadow: 0 9px 10px rgba(0,0,0,.45), inset 0 -4px rgba(120,70,0,.25);
}
.create-table:active {
  transform: translateY(0);
}
.lobby-buttons button:not(:disabled):hover {
  transform: translateY(-3px);
  filter: brightness(1.08);
  box-shadow: inset 0 -4px rgba(105,60,0,.28), 0 7px 8px rgba(0,0,0,.42);
}
.lobby-buttons button:not(:disabled):active {
  transform: translateY(0);
}
.lobby-buttons button:disabled,
.lobby-buttons button.is-disabled {
  cursor: not-allowed;
  color: rgba(52, 62, 70, .82);
  background: linear-gradient(#b9c3c8, #8e9aa1 55%, #69767e);
  box-shadow: inset 0 -3px rgba(45,55,60,.28), 0 2px 3px rgba(0,0,0,.28);
  opacity: .62;
  filter: saturate(.25);
  transform: none;
}

/* === V35: lobby rows, real player actions and stake columns === */
/* V36: occupied tables again highlight only their own two cells. */

/* Selected-table user rows use the very same live action controls as the
   in-table player panel: friend, private message, profile and moderation. */
.classic-rush-ui .player-list p.lobby-player-row,
.player-list p.lobby-player-row {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 4px;
  overflow: visible;
}
.classic-rush-ui .player-list p.lobby-player-row.is-friend .lobby-user-name,
.player-list p.lobby-player-row.is-friend .lobby-user-name {
  color: #55ff70 !important;
  text-shadow: 0 2px 2px #000, 0 0 8px rgba(70,255,103,.72) !important;
}
.classic-rush-ui .player-list .lobby-user-actions,
.player-list .lobby-user-actions {
  position: relative;
  flex: 0 0 auto;
  display: flex !important;
  align-items: center;
  gap: 3px;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: normal !important;
  overflow: visible !important;
}
.classic-rush-ui .player-list .lobby-user-actions .room-action,
.player-list .lobby-user-actions .room-action,
.classic-rush-ui .player-list .lobby-user-actions .room-skull,
.player-list .lobby-user-actions .room-skull {
  position: static !important;
  display: inline-grid !important;
  place-items: center;
  flex: 0 0 18px;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  border: 1px solid rgba(102,226,255,.72) !important;
  border-radius: 50% !important;
  background: linear-gradient(#35d6ff,#0792c5) !important;
  color: #032536 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 1px 2px rgba(0,0,0,.55) !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 950 !important;
  line-height: 16px !important;
  cursor: pointer !important;
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease !important;
}
.classic-rush-ui .player-list .lobby-user-actions .room-action:hover,
.player-list .lobby-user-actions .room-action:hover,
.classic-rush-ui .player-list .lobby-user-actions .room-skull:hover,
.player-list .lobby-user-actions .room-skull:hover {
  transform: translateY(-2px) scale(1.08);
  filter: brightness(1.12);
  box-shadow: 0 0 7px rgba(59,214,255,.72), inset 0 1px 0 rgba(255,255,255,.72) !important;
}
.classic-rush-ui .player-list .lobby-user-actions .room-message-action,
.player-list .lobby-user-actions .room-message-action {
  font-size: 10px !important;
}
.classic-rush-ui .player-list .lobby-user-actions .room-friend-action.is-active,
.player-list .lobby-user-actions .room-friend-action.is-active {
  border-color: #83ff91 !important;
  background: linear-gradient(#9affaa,#24c94a) !important;
  color: #073b12 !important;
  box-shadow: 0 0 8px rgba(63,255,97,.65), inset 0 1px 0 #fff !important;
}
.classic-rush-ui .player-list .lobby-user-actions .room-skull,
.player-list .lobby-user-actions .room-skull {
  border-color: #ff8f8f !important;
  background: linear-gradient(#ff9a9a,#c93636) !important;
  color: #310000 !important;
}
.classic-rush-ui .player-list .lobby-empty-users,
.player-list .lobby-empty-users {
  display: block;
  height: auto;
  margin: 4px 0 10px;
  color: #82aebe;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}


/* === V36: selectable empty lobby slots + separated Durak statistics === */
.lobby-table td.table-slot.is-selectable-empty {
  cursor: pointer;
}
.lobby-table td.table-slot--players.is-selectable-empty:hover,
.lobby-table td.table-slot--players.is-selectable-empty:hover + td.table-slot--stake.is-selectable-empty,
.lobby-table td.table-slot--players.is-selectable-empty:has(+ td.table-slot--stake.is-selectable-empty:hover),
.lobby-table td.table-slot--stake.is-selectable-empty:hover {
  background: linear-gradient(180deg, rgba(42, 166, 225, .74), rgba(18, 101, 167, .74));
  box-shadow: inset 0 0 0 1px rgba(125, 225, 255, .72), inset 0 0 13px rgba(48, 200, 255, .28);
}
.lobby-table td.table-slot.is-selected-empty,
.classic-rush-ui .lobby-table td.table-slot.is-selected-empty {
  background: linear-gradient(180deg, rgba(38, 197, 255, .98), rgba(13, 101, 190, .98));
  color: #fff;
  box-shadow:
    inset 0 0 0 2px rgba(185, 248, 255, .98),
    inset 0 0 20px rgba(74, 229, 255, .58),
    0 0 10px rgba(31, 205, 255, .7);
}
.lobby-table td.table-slot--players.is-selected-empty { border-right-color: rgba(95, 222, 255, .68); }
.lobby-table td.table-slot--stake.is-selected-empty { border-left-color: rgba(95, 222, 255, .68); }

/* Keep all lobby player controls inside the black side panel. */
.classic-rush-ui .player-list,
.player-list { overflow-x: hidden !important; }
.classic-rush-ui .player-list p.lobby-player-row,
.player-list p.lobby-player-row { box-sizing: border-box; max-width: 100%; }
.classic-rush-ui .player-list .lobby-user-actions,
.player-list .lobby-user-actions { max-width: 82px; }

/* Four independent games fit on one statistics screen without a scrollbar. */
.cabinet-stats-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
}
.cabinet-stat-card { padding: 9px 8px; }
.cabinet-stat-card h3 { min-height: 30px; margin: 0 0 5px; font-size: 12px; line-height: 1.15; }
.cabinet-stat-card div { gap: 4px; margin: 5px 0; font-size: 10.5px; }
.cabinet-summary-strip { margin: 7px 0 10px; }
.cabinet-summary-strip span { padding: 7px 5px; }
.cabinet-summary-strip b { margin-top: 2px; font-size: 18px; }

.public-game-stats { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; }
.public-game-stat { padding: 7px; font-size: 10px; }
.public-game-stat b { min-height: 28px; font-size: 11px; line-height: 1.15; }

.top-ranking-tabs {
  grid-template-columns: 1.08fr 1.08fr .78fr .80fr .80fr 1.04fr 1.04fr;
  gap: 4px;
}
.top-ranking-tabs button { padding: 5px 4px; font-size: 10.5px; line-height: 1.05; }

/* === V37: all selected-table player actions fit without horizontal scrolling === */
.classic-rush-ui .player-list,
.player-list {
  overflow-x: hidden !important;
}

.classic-rush-ui .player-list p.lobby-player-row,
.player-list p.lobby-player-row {
  position: relative;
  display: flex !important;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 25px;
  padding-right: 50px;
  gap: 0 !important;
  overflow: hidden !important;
}

.classic-rush-ui .player-list p.lobby-player-row .lobby-user-name,
.player-list p.lobby-player-row .lobby-user-name {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding-left: 3px !important;
  padding-right: 3px !important;
  font-size: 11.5px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.classic-rush-ui .player-list p.lobby-player-row .lobby-user-name.nick-fit-long,
.player-list p.lobby-player-row .lobby-user-name.nick-fit-long {
  font-size: 10.3px !important;
}

.classic-rush-ui .player-list p.lobby-player-row .lobby-user-name.nick-fit-xlong,
.player-list p.lobby-player-row .lobby-user-name.nick-fit-xlong {
  font-size: 9.2px !important;
}

.classic-rush-ui .player-list .lobby-user-actions,
.player-list .lobby-user-actions {
  position: absolute !important;
  top: 50% !important;
  right: 0 !important;
  z-index: 8;
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  width: 48px !important;
  max-width: 48px !important;
  min-width: 48px !important;
  height: 18px !important;
  gap: 1px !important;
  transform: translateY(-50%);
  overflow: visible !important;
}

.classic-rush-ui .player-list .lobby-user-actions .room-action,
.player-list .lobby-user-actions .room-action,
.classic-rush-ui .player-list .lobby-user-actions .room-skull,
.player-list .lobby-user-actions .room-skull {
  flex: 0 0 15px !important;
  width: 15px !important;
  height: 15px !important;
  min-width: 15px !important;
  border-width: 1px !important;
  font-size: 10px !important;
  line-height: 13px !important;
}

.classic-rush-ui .player-list .lobby-user-actions .room-message-action,
.player-list .lobby-user-actions .room-message-action {
  font-size: 8px !important;
}

.classic-rush-ui .player-list .lobby-user-actions .room-action:hover,
.player-list .lobby-user-actions .room-action:hover,
.classic-rush-ui .player-list .lobby-user-actions .room-skull:hover,
.player-list .lobby-user-actions .room-skull:hover {
  transform: translateY(-1px) scale(1.08) !important;
}

/* A moderator can have a fourth skull action; reserve a little more room only
   for that row, still without enabling a horizontal scrollbar. */
.classic-rush-ui .player-list p.lobby-player-row:has(.lobby-user-actions .room-skull),
.player-list p.lobby-player-row:has(.lobby-user-actions .room-skull) {
  padding-right: 66px;
}
.classic-rush-ui .player-list .lobby-user-actions:has(.room-skull),
.player-list .lobby-user-actions:has(.room-skull) {
  width: 64px !important;
  max-width: 64px !important;
  min-width: 64px !important;
}

/* ===== V41: одинаковое выравнивание псевдонимов в списке общего чата =====
   Левая пустая колонка всегда равна ширине блока кнопок справа. Поэтому центр
   псевдонима больше не зависит от количества доступных действий у игрока. */
.classic-rush-ui .chat-user-row,
.classic-rush-ui .chat-user-row.status-vip-gold,
.classic-rush-ui .chat-user-row.status-vip-platinum,
.classic-rush-ui .chat-user-row.is-current {
  grid-template-columns: 60px minmax(0, 1fr) 60px !important;
  column-gap: 0 !important;
}

.classic-rush-ui .chat-user-row .chat-user-name-cell {
  grid-column: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  justify-content: center !important;
}

.classic-rush-ui .chat-user-row .chat-user-name {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  justify-content: center !important;
  text-align: center !important;
}

.classic-rush-ui .chat-user-row .chat-user-name > .status-nick__label {
  width: 100% !important;
  text-align: center !important;
}

.classic-rush-ui .chat-user-row .chat-user-actions {
  grid-column: 3 !important;
  width: 60px !important;
  min-width: 60px !important;
  max-width: 60px !important;
  gap: 0 !important;
  justify-content: flex-end !important;
}

.classic-rush-ui .chat-user-row .chat-user-actions .room-action,
.classic-rush-ui .chat-user-row .chat-user-actions .room-skull {
  width: 15px !important;
  min-width: 15px !important;
  height: 15px !important;
  line-height: 13px !important;
}


/* ===== V42: полные и ровные псевдонимы без наложения кнопок =====
   Кнопки действий занимают одинаковое фиксированное место, а ник получает
   всю центральную область без лишних внутренних отступов. */
.classic-rush-ui .chat-user-row,
.classic-rush-ui .chat-user-row.status-vip-gold,
.classic-rush-ui .chat-user-row.status-vip-platinum,
.classic-rush-ui .chat-user-row.is-current {
  grid-template-columns: 58px minmax(0, 1fr) 58px !important;
  column-gap: 0 !important;
}

.classic-rush-ui .chat-user-row .chat-user-name-cell {
  grid-column: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  justify-content: center !important;
}

.classic-rush-ui .chat-user-row .chat-user-name {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding-left: 1px !important;
  padding-right: 1px !important;
  overflow: hidden !important;
  justify-content: center !important;
  text-align: center !important;
}

.classic-rush-ui .chat-user-row .chat-user-name > .status-nick__label {
  width: 100% !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  text-align: center !important;
}

.classic-rush-ui .chat-user-row .chat-user-name.nick-fit-medium {
  font-size: 11.2px !important;
}
.classic-rush-ui .chat-user-row .chat-user-name.nick-fit-long {
  font-size: 9.8px !important;
  letter-spacing: -0.2px !important;
}
.classic-rush-ui .chat-user-row .chat-user-name.nick-fit-xlong {
  font-size: 8.8px !important;
  letter-spacing: -0.32px !important;
}

.classic-rush-ui .chat-user-row .chat-user-actions {
  grid-column: 3 !important;
  display: flex !important;
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  gap: 0 !important;
  justify-content: flex-end !important;
}

.classic-rush-ui .chat-user-row .chat-user-actions .room-action,
.classic-rush-ui .chat-user-row .chat-user-actions .room-skull {
  width: 14px !important;
  min-width: 14px !important;
  height: 14px !important;
  line-height: 12px !important;
  font-size: 9px !important;
}

/* Правая панель стола: одинаковая ширина области кнопок у каждого игрока.
   Черепок, плюс, конверт и профиль больше не заходят на псевдоним. */
.classic-rush-ui .room-list li.room-user-row,
.room-list li.room-user-row {
  grid-template-columns: 17px minmax(0, 1fr) 63px !important;
  column-gap: 2px !important;
}

.classic-rush-ui .room-list li.room-user-row > .room-user-name,
.room-list li.room-user-row > .room-user-name {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding-left: 2px !important;
  padding-right: 2px !important;
  overflow: hidden !important;
  justify-content: center !important;
  text-align: center !important;
}

.classic-rush-ui .room-list .room-user-name > .status-nick__label,
.room-list .room-user-name > .status-nick__label {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  text-align: center !important;
}

.classic-rush-ui .room-list .room-user-name.nick-fit-medium,
.room-list .room-user-name.nick-fit-medium {
  font-size: 11px !important;
}
.classic-rush-ui .room-list .room-user-name.nick-fit-long,
.room-list .room-user-name.nick-fit-long {
  font-size: 9.7px !important;
  letter-spacing: -0.2px !important;
}
.classic-rush-ui .room-list .room-user-name.nick-fit-xlong,
.room-list .room-user-name.nick-fit-xlong {
  font-size: 8.7px !important;
  letter-spacing: -0.32px !important;
}

.classic-rush-ui .room-list li.room-user-row > span.room-user-actions,
.room-list li.room-user-row > span.room-user-actions {
  grid-column: 3 !important;
  box-sizing: border-box !important;
  width: 63px !important;
  min-width: 63px !important;
  max-width: 63px !important;
  gap: 1px !important;
  justify-content: flex-end !important;
}

/* Игровые места в покере и дураке: 16-символьный псевдоним помещается
   целиком внутри таблички, включая модераторскую молнию. */
.classic-rush-ui .app--poker-table .poker-seat > b.seat-nick,
.classic-rush-ui .app--durak-table .durak-seat > b.seat-nick {
  padding-left: 11px !important;
  padding-right: 11px !important;
}

.classic-rush-ui .app--poker-table .poker-seat > b.seat-nick.nick-fit-medium,
.classic-rush-ui .app--durak-table .durak-seat > b.seat-nick.nick-fit-medium {
  font-size: 11px !important;
}
.classic-rush-ui .app--poker-table .poker-seat > b.seat-nick.nick-fit-long,
.classic-rush-ui .app--durak-table .durak-seat > b.seat-nick.nick-fit-long {
  font-size: 9.5px !important;
  letter-spacing: -0.2px !important;
}
.classic-rush-ui .app--poker-table .poker-seat > b.seat-nick.nick-fit-xlong,
.classic-rush-ui .app--durak-table .durak-seat > b.seat-nick.nick-fit-xlong {
  font-size: 8.5px !important;
  letter-spacing: -0.34px !important;
}

.classic-rush-ui .seat-nick__label {
  text-overflow: clip !important;
}

/* ===== V43: молния всегда вплотную перед псевдонимом =====
   Сам текст ника остаётся геометрически по центру строки. Молния привязана
   к левому краю текста, поэтому одинаково аккуратно стоит у коротких и
   длинных псевдонимов и не зависит от кнопок справа. */
.classic-rush-ui .chat-user-row .chat-user-name__text {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: calc(100% - 24px) !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.classic-rush-ui .chat-user-row .chat-user-name__text > .status-nick__label {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  text-align: center !important;
}

.classic-rush-ui .chat-user-row .chat-user-name__text > .nick-bolt {
  position: absolute !important;
  left: auto !important;
  right: calc(100% + 2px) !important;
  top: 50% !important;
  z-index: 7 !important;
  display: block !important;
  width: 10px !important;
  height: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) rotate(-10deg) !important;
  font-size: 10px !important;
  line-height: 12px !important;
  text-align: center !important;
  pointer-events: none !important;
}


/* ===== V44: полный псевдоним + молния прямо перед ним =====
   Кнопки справа больше не отнимают центральную ширину у ника: они лежат
   поверх отдельного правого слоя, а псевдоним центрируется по всей строке. */
.classic-rush-ui .chat-user-row,
.classic-rush-ui .chat-user-row.status-vip-gold,
.classic-rush-ui .chat-user-row.status-vip-platinum,
.classic-rush-ui .chat-user-row.is-current {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  column-gap: 0 !important;
}

.classic-rush-ui .chat-user-row .chat-user-name-cell {
  grid-column: 1 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  padding-left: 34px !important;
  padding-right: 34px !important;
  overflow: hidden !important;
  justify-content: center !important;
}

.classic-rush-ui .chat-user-row .chat-user-name {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  justify-content: center !important;
  text-align: center !important;
}

.classic-rush-ui .chat-user-row .chat-user-name__text {
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

.classic-rush-ui .chat-user-row .chat-user-name__text > .status-nick__label {
  width: auto !important;
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

.classic-rush-ui .chat-user-row .chat-user-actions {
  position: absolute !important;
  right: 1px !important;
  top: 50% !important;
  z-index: 12 !important;
  grid-column: auto !important;
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  transform: translateY(-50%) !important;
  justify-content: flex-end !important;
}

/* ===== V45: колода в дураке не перекрывает правого игрока =====
   Переносим весь блок колоды и козыря выше и левее. Позиция остаётся
   одинаковой в подкидном и переводном режимах, включая окно перевода. */
.classic-rush-ui .app--durak-table .durak-deck-zone,
.classic-rush-ui .app--durak-table .durak-deck-zone.has-transfer-zone {
  right: 198px !important;
  top: 176px !important;
}

/* ===== V46: подсветка карт выигрышной комбинации в Texas Hold'em =====
   На вскрытии приглушаются лишние карты победителя и все карты проигравших,
   а светятся только карты победной комбинации. Кикеры не подсвечиваются. */
.classic-rush-ui .app--poker-table .poker-layer--combination .poker-board .poker-card:not(.poker-card--winning-combo),
.classic-rush-ui .app--poker-table .poker-layer--combination .poker-seat.is-winner .hole-cards .poker-card:not(.poker-card--winning-combo),
.classic-rush-ui .app--poker-table .poker-layer--combination .poker-seat:not(.is-winner) .hole-cards .poker-card {
  opacity: .70 !important;
  filter: grayscale(.58) brightness(.64) saturate(.42) !important;
  transition: opacity .24s ease, filter .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.classic-rush-ui .app--poker-table .poker-layer--combination .poker-card.poker-card--winning-combo,
.classic-rush-ui .app--poker-table .poker-layer--live-combination .poker-card.poker-card--winning-combo {
  z-index: 8 !important;
  opacity: 1 !important;
  filter: brightness(1.12) saturate(1.18) !important;
  border-color: #ffe45a !important;
  box-shadow:
    0 0 0 2px rgba(255,146,20,.90),
    0 0 18px rgba(255,225,70,.96),
    0 9px 13px rgba(0,0,0,.50),
    inset 0 0 12px rgba(255,241,139,.34) !important;
  animation: pokerWinningCombinationPulse 1.08s ease-in-out infinite;
}

.classic-rush-ui .app--poker-table .poker-layer--combination .poker-card.poker-card--winning-combo::after,
.classic-rush-ui .app--poker-table .poker-layer--live-combination .poker-card.poker-card--winning-combo::after {
  border-color: rgba(255,166,30,.74) !important;
  box-shadow: inset 0 0 10px rgba(255,222,69,.26);
}

@keyframes pokerWinningCombinationPulse {
  0%, 100% {
    box-shadow:
      0 0 0 2px rgba(255,146,20,.84),
      0 0 13px rgba(255,225,70,.78),
      0 9px 13px rgba(0,0,0,.50),
      inset 0 0 10px rgba(255,241,139,.25);
  }
  50% {
    box-shadow:
      0 0 0 3px rgba(255,177,28,.98),
      0 0 25px rgba(255,239,102,1),
      0 9px 13px rgba(0,0,0,.50),
      inset 0 0 16px rgba(255,247,171,.42);
  }
}


/* ===== V47: живая подсветка комбинации во время раздачи =====
   Подсветка появляется сразу, как только у самого игрока собралась пара или
   более сильная комбинация. На руках и на столе светятся одни и те же
   совпавшие карты; лишние карты во время торговли не затемняются. */
.classic-rush-ui .app--poker-table .poker-layer--live-combination .poker-card.poker-card--winning-combo {
  animation-duration: 1.32s;
}

/* ===== V48: подсветка не вмешивается в раздачу карт =====
   Даже если сервер уже знает комбинацию, сначала полностью проигрывается
   прежний полёт карты из колоды. Подсветка включается только после приземления. */
.classic-rush-ui .app--poker-table .poker-layer .poker-card.poker-card--winning-combo.poker-card--dealt {
  animation: dealFromDeck var(--deal-duration,.82s) cubic-bezier(.16,.72,.2,1) both !important;
  animation-delay: var(--deal-delay,0s) !important;
}


/* === V51: отдельный Sit & Go Texas Hold'em === */
.game-grid--five {
  left: 42px;
  top: 172px;
  width: 1015px;
  grid-template-columns: repeat(5, 188px);
  column-gap: 15px;
  justify-content: center;
}
.classic-rush-ui .app--menu .game-grid--five {
  left: 42px;
  top: 128px;
  width: 1015px;
  grid-template-columns: repeat(5, 188px);
  column-gap: 15px;
  justify-content: center;
}
.classic-rush-ui .app--menu .game-grid--five .game-card { height: 300px; }
.classic-rush-ui .app--menu .game-grid--five .game-card__plate {
  left: 18px;
  width: 152px;
  height: 146px;
}
.classic-rush-ui .app--menu .game-grid--five .game-card__count { right: 9px; top: -7px; }
.classic-rush-ui .app--menu .game-grid--five .game-card h3 {
  top: 112px;
  font-size: 23px;
}
.classic-rush-ui .app--menu .game-grid--five .game-card p {
  left: 3px;
  top: 218px;
  width: 182px;
  font-size: 13px;
}
.classic-rush-ui .app--menu .game-grid--five .icon--texas::before {
  left: 25px;
  transform: rotate(-12deg) scale(.82);
}
.classic-rush-ui .app--menu .game-grid--five .icon--texas::after {
  left: 73px;
  transform: rotate(12deg) scale(.82);
}
.classic-rush-ui .app--menu .game-grid--five .icon--durak::before {
  left: 22px;
  transform: rotate(-12deg) scale(.82);
}
.classic-rush-ui .app--menu .game-grid--five .icon--durak::after {
  left: 72px;
  transform: rotate(12deg) scale(.82);
}
.game-card[data-kind="sitngo"] .game-card__plate::after {
  content: '1';
  right: -3px;
  top: 101px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff7a7;
  font: 1000 25px/1 Arial, sans-serif;
  background: linear-gradient(#efb625, #9c5a05);
  border: 3px solid #fff07a;
  text-shadow: 0 2px 2px #4b2600;
  box-shadow: 0 4px 8px rgba(0,0,0,.5), inset 0 2px rgba(255,255,255,.32), 0 0 13px rgba(255,205,49,.35);
  transform: none;
}

.app--poker-table .sitngo-status {
  position: absolute;
  left: 20px;
  top: 60px;
  z-index: 96;
  width: 185px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 211, 79, .62);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(75, 47, 5, .94), rgba(32, 20, 3, .97));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.13), 0 5px 16px rgba(0,0,0,.34), 0 0 14px rgba(255,185,41,.13);
  color: #fff4b0;
  pointer-events: none;
}
.app--poker-table .sitngo-status > b {
  display: block;
  color: #ffd44e;
  font-size: 16px;
  letter-spacing: .9px;
  text-shadow: 0 2px 2px #2c1700;
}
.app--poker-table .sitngo-status > span,
.app--poker-table .sitngo-status > small {
  display: block;
  margin-top: 4px;
  line-height: 1.25;
}
.app--poker-table .sitngo-status > span { font-size: 13px; font-weight: 900; }
.app--poker-table .sitngo-status > small { color: #f1cf76; font-size: 11px; font-weight: 800; }
.app--poker-table .sitngo-status.is-active {
  border-color: rgba(83, 226, 143, .66);
  background: linear-gradient(180deg, rgba(8, 70, 48, .94), rgba(3, 37, 27, .97));
}
.app--poker-table .sitngo-status.is-active > b { color: #7ff0ad; }
.app--poker-table .sitngo-status.is-finished {
  border-color: rgba(255, 231, 112, .86);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 5px 16px rgba(0,0,0,.34), 0 0 18px rgba(255,218,64,.3);
}


/* === V60: vertical TOP-100 navigation, clickable players and full public statistics === */
.modal__box--top-players {
  width: 1000px !important;
  height: 700px !important;
  max-height: calc(100vh - 20px) !important;
  padding: 30px 30px 22px !important;
}
.top-ranking-layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 13px;
  height: 590px;
  margin-top: 12px;
}
.top-ranking-tabs,
.classic-rush-ui .top-ranking-tabs {
  display: flex !important;
  flex-direction: column;
  align-self: stretch;
  gap: 8px !important;
  margin: 0 !important;
}
.top-ranking-tabs button,
.classic-rush-ui .top-ranking-tabs button {
  width: 100%;
  min-height: 54px;
  padding: 7px 12px !important;
  border-radius: 11px !important;
  font-size: 12px !important;
  line-height: 1.12 !important;
  text-align: left;
  transition: transform .16s ease, filter .16s ease, box-shadow .16s ease;
}
.top-ranking-tabs button:hover { filter: brightness(1.12); transform: translateX(3px); }
.top-ranking-tabs button.is-active,
.classic-rush-ui .top-ranking-tabs button.is-active {
  transform: translateX(5px) !important;
  box-shadow: 0 0 13px rgba(255, 205, 49, .45), inset 0 1px 0 rgba(255,255,255,.65) !important;
}
.top-ranking-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.top-ranking-main .ranking-rule {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin: 0 3px 8px;
  padding: 0 12px;
  border: 1px solid rgba(73, 202, 238, .30);
  border-radius: 9px;
  background: rgba(0, 31, 48, .38);
}
.top-ranking-main .ranking-table-head,
.top-ranking-main .ranking-row {
  grid-template-columns: 64px minmax(220px, 1fr) 145px 125px;
}
.top-ranking-main .ranking-table-head { margin: 0; }
.top-ranking-main .ranking-list {
  flex: 1;
  height: auto !important;
  min-height: 0;
  margin: 0;
}
.ranking-row {
  width: 100%;
  padding: 0;
  border-top: 0;
  border-right: 0;
  border-left: 0;
  font: inherit;
  text-align: inherit;
  cursor: pointer;
  transition: filter .14s ease, box-shadow .14s ease, transform .14s ease;
}
.ranking-row:hover,
.ranking-row:focus-visible {
  filter: brightness(1.16);
  box-shadow: inset 4px 0 0 #55dcff, inset 0 0 18px rgba(66, 215, 255, .14);
  outline: none;
  transform: translateX(1px);
}
.ranking-row:active { transform: translateX(2px) scale(.998); }
.ranking-avatar.has-image {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.ranking-player .status-nick { max-width: 225px; }

.modal__box--player-profile {
  width: 790px !important;
  min-height: 610px !important;
  padding: 30px 38px 22px !important;
}
.modal__box--player-profile::before { bottom: 74px !important; }
.player-profile-tabs {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 13px 4px 10px;
}
.player-profile-tabs button {
  min-height: 37px;
  border: 1px solid rgba(70, 218, 255, .72);
  border-radius: 9px;
  color: #fff;
  background: linear-gradient(#278eb9, #075473);
  font-size: 13px;
  font-weight: 950;
  text-shadow: 0 1px 2px #000;
  cursor: pointer;
}
.player-profile-tabs button.is-active {
  color: #082b39;
  background: linear-gradient(#86efff, #24c3ed 55%, #0785ad);
  box-shadow: 0 0 11px rgba(46, 220, 255, .42), inset 0 1px 0 rgba(255,255,255,.7);
  text-shadow: 0 1px 0 rgba(255,255,255,.65);
}
.player-profile-content {
  height: 435px;
  margin-top: 0 !important;
  overflow: hidden;
}
.public-profile-head { padding: 10px 13px; }
.public-profile-avatar-stage {
  position: relative;
  flex: 0 0 94px;
  width: 94px;
  height: 94px;
  display: grid;
  place-items: center;
}
.public-profile-avatar-stage .rank-wreath--public-profile {
  position: absolute;
  inset: -11px;
  width: 116px;
  height: 116px;
  z-index: 1;
  pointer-events: none;
}
.public-profile-avatar-stage .public-profile-avatar { position: relative; z-index: 2; }
.public-profile-identity { min-width: 0; }
.public-profile-identity small.is-online { color: #65ff7c; font-weight: 900; }
.public-profile-meta {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 6px !important;
  margin: 8px 0 !important;
}
.public-profile-meta span {
  padding: 7px 8px !important;
  font-size: 11px;
  text-align: center;
}
.public-profile-meta b { display: block; margin-top: 3px; font-size: 14px; }
.public-profile-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
  margin: 7px 0 9px;
}
.public-profile-summary span {
  padding: 7px 5px;
  border: 1px solid rgba(74, 205, 240, .42);
  border-radius: 8px;
  color: #aed0dd;
  background: rgba(1, 42, 61, .76);
  font-size: 10px;
  font-weight: 850;
  text-align: center;
}
.public-profile-summary b {
  display: block;
  margin-top: 2px;
  color: #fff;
  font-size: 17px;
}
.public-profile-summary--stats { margin-top: 8px; }
.public-recent-games { margin-top: 6px !important; }
.public-recent-games h4 { margin-bottom: 6px !important; }
.public-recent-game {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 80px 145px;
  align-items: center;
  gap: 8px;
  margin: 4px 0;
  padding: 7px 9px;
  border: 1px solid rgba(57, 177, 213, .25);
  border-radius: 7px;
  color: #fff;
  background: rgba(2, 45, 65, .72);
  font: inherit;
  text-align: left;
  opacity: 1;
}
.public-recent-game.is-win { border-color: rgba(75, 255, 104, .42); }
.public-recent-game span { color: #b9d4df; font-weight: 900; text-align: center; }
.public-recent-game.is-win span { color: #69ff81; }
.public-recent-game small { color: #abc7d2; text-align: right; }
.public-stats-table {
  overflow: hidden;
  border: 1px solid rgba(69, 203, 239, .44);
  border-radius: 10px;
  background: rgba(0, 28, 43, .64);
}
.public-stat-head,
.public-stat-row {
  display: grid;
  grid-template-columns: minmax(155px, 1.45fr) repeat(5, minmax(58px, .62fr)) minmax(82px, .82fr);
  align-items: center;
  min-height: 43px;
  gap: 4px;
  padding: 0 8px;
  text-align: center;
}
.public-stat-head {
  min-height: 31px;
  color: #ffe65a;
  background: rgba(0, 25, 39, .86);
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}
.public-stat-row {
  border-top: 1px solid rgba(69, 190, 224, .18);
  color: #d7edf6;
  background: linear-gradient(90deg, rgba(7, 71, 96, .64), rgba(1, 39, 58, .68));
  font-size: 11px;
}
.public-stat-row:nth-child(odd) { background: linear-gradient(90deg, rgba(5, 59, 82, .70), rgba(1, 34, 51, .74)); }
.public-stat-row b { color: #68e9ff; text-align: left; }
.public-stat-row strong { color: #ffe36a; }
.public-stat-row em { color: #b8d5e0; font-style: normal; }
.public-profile-time {
  margin-top: 8px;
  padding: 7px;
  border-radius: 8px;
  color: #b9d7e2;
  background: rgba(2, 49, 69, .62);
  text-align: right;
}
.public-profile-time b { color: #fff; }
.player-profile-actions { margin-top: 10px !important; }

/* V60 status wreath geometry override with classic-theme specificity. */
.classic-rush-ui .public-profile-avatar-stage .rank-wreath--public-profile {
  left: -11px !important;
  top: -11px !important;
  width: 116px !important;
  height: 116px !important;
}
.classic-rush-ui .public-profile-avatar-stage.status-vip-platinum > .platinum-sparks--wreath {
  left: -11px !important;
  top: -11px !important;
  width: 116px !important;
  height: 116px !important;
}

/* =========================================================
   v61 — адресные сообщения и пользовательский цвет ника
   ========================================================= */
.chat-nick[data-action="addressChatUser"],
.chat-user-name[data-action="addressChatUser"] {
  appearance:none;
  -webkit-appearance:none;
  border:0;
  outline:0;
  font:inherit;
  cursor:pointer;
}
.chat-nick[data-action="addressChatUser"]:hover .chat-nick__label,
.chat-user-name[data-action="addressChatUser"]:hover .status-nick__label {
  text-decoration:underline;
  text-underline-offset:2px;
}
.chat-nick.has-custom-chat-color,
.chat-nick.has-custom-chat-color.is-friend,
.club-chat-message .chat-nick.has-custom-chat-color,
.table-chat-message .chat-nick.has-custom-chat-color,
.classic-rush-ui .chat-user-row .chat-user-name.has-custom-chat-color,
.classic-rush-ui .chat-user-row.is-friend .chat-user-name.has-custom-chat-color {
  color:var(--chat-nick-color) !important;
  text-shadow:0 2px 2px #000,0 0 8px color-mix(in srgb, var(--chat-nick-color) 72%, transparent) !important;
}
.chat-nick.has-custom-chat-color .chat-nick__label,
.classic-rush-ui .chat-user-row .chat-user-name.has-custom-chat-color .status-nick__label,
.classic-rush-ui .chat-user-row.is-friend .chat-user-name.has-custom-chat-color .status-nick__label {
  color:var(--chat-nick-color) !important;
  -webkit-text-fill-color:var(--chat-nick-color) !important;
  background:none !important;
  animation:none !important;
  filter:none !important;
  text-shadow:0 2px 2px #000,0 0 8px color-mix(in srgb, var(--chat-nick-color) 72%, transparent) !important;
}

.cabinet-chat-color-field {
  position:relative;
  z-index:12;
  display:grid;
  grid-template-columns:175px 1fr;
  gap:12px;
  align-items:center;
  min-height:32px;
  color:#d7edf7;
  font-weight:950;
  font-style:italic;
  text-shadow:0 2px 1px #000;
}
.cabinet-chat-color-field > span { text-align:right; }
.cabinet-chat-color-picker { position:relative; }
.cabinet-chat-color-toggle {
  display:grid;
  grid-template-columns:24px 1fr 18px;
  align-items:center;
  gap:8px;
  width:100%;
  height:32px;
  padding:0 8px;
  border:2px solid #244252;
  background:#f7fbff;
  color:#0b2431;
  font-size:12px;
  font-weight:900;
  text-align:left;
  cursor:pointer;
}
.cabinet-chat-color-toggle i {
  width:20px;
  height:20px;
  border:1px solid rgba(0,0,0,.55);
  border-radius:4px;
  background:linear-gradient(135deg,#65dcff,#d782ff 36%,#ffdf38 68%,#f4fbff);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.38);
}
.cabinet-chat-color-toggle i.is-status-color {
  background:linear-gradient(135deg,#65dcff,#d782ff 36%,#ffdf38 68%,#f4fbff) !important;
}
.cabinet-chat-color-toggle b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cabinet-chat-color-toggle em { font-style:normal; text-align:center; }
.cabinet-chat-color-palette {
  position:absolute;
  z-index:80;
  top:36px;
  right:0;
  display:none;
  grid-template-columns:repeat(7,30px);
  gap:5px;
  width:257px;
  padding:10px;
  border:2px solid #27c9f6;
  border-radius:12px;
  background:linear-gradient(180deg,rgba(4,54,77,.99),rgba(1,29,45,.99));
  box-shadow:0 12px 28px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.18);
}
.cabinet-chat-color-picker.is-open .cabinet-chat-color-palette { display:grid; }
.cabinet-color-swatch {
  position:relative;
  width:30px;
  height:28px;
  padding:0;
  border:2px solid rgba(255,255,255,.62);
  border-radius:6px;
  background:var(--swatch-color);
  box-shadow:0 2px 4px rgba(0,0,0,.45);
  cursor:pointer;
}
.cabinet-color-swatch:hover { transform:translateY(-1px); filter:brightness(1.12); }
.cabinet-color-swatch.is-active { border-color:#ffe85b; box-shadow:0 0 0 2px #097ea7,0 0 10px #ffe85b; }
.cabinet-color-swatch.is-default {
  background:linear-gradient(135deg,#65dcff,#d782ff 36%,#ffdf38 68%,#f4fbff);
  color:#062536;
  font-size:22px;
  font-weight:1000;
  line-height:20px;
  text-shadow:none;
}
.cabinet-color-swatch.is-default span { display:block; text-align:center; }
.cabinet-chat-color-palette small {
  grid-column:1 / -1;
  margin-top:3px;
  color:#a9d7e8;
  font-size:10px;
  font-style:normal;
  line-height:1.3;
  text-align:center;
  text-shadow:none;
}
.public-profile-meta--private-safe { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.chat-nick.is-black-chat-color,
.classic-rush-ui .chat-user-row .chat-user-name.is-black-chat-color,
.chat-nick.is-black-chat-color .chat-nick__label,
.classic-rush-ui .chat-user-row .chat-user-name.is-black-chat-color .status-nick__label {
  text-shadow:0 0 1px #fff,0 0 4px rgba(255,255,255,.72),0 2px 2px #000 !important;
}

/* =========================================================
   v62 — цвет всего сообщения и неизменяемый ник в списке
   ========================================================= */
/* Выбранный цвет применяется ко всей строке сообщения, а не только к нику. */
.club-chat-message.has-custom-message-color,
.table-chat-message.has-custom-message-color,
.chat-box p.has-custom-message-color {
  color:var(--chat-message-color) !important;
  text-shadow:0 2px 2px #000,0 0 8px color-mix(in srgb, var(--chat-message-color) 72%, transparent) !important;
}
.club-chat-message.has-custom-message-color > span:not(.blocked-message),
.table-chat-message.has-custom-message-color > span:not(.blocked-message),
.chat-box p.has-custom-message-color > span:not(.blocked-message) {
  color:inherit !important;
  text-shadow:inherit !important;
}

/* Ник автора в каждом сообщении всегда подчёркнут. */
.club-chat-message .chat-nick__label,
.table-chat-message .chat-nick__label,
.chat-box p .chat-nick__label {
  text-decoration:underline !important;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}

/* Чёрный цвет, назначенный администратором, остаётся читаемым на тёмном фоне. */
.club-chat-message.is-black-message-color,
.table-chat-message.is-black-message-color,
.chat-box p.is-black-message-color {
  text-shadow:0 0 1px #fff,0 0 4px rgba(255,255,255,.72),0 2px 2px #000 !important;
}


/* =========================================================
   v63 — адресация в игровых чатах и свободная палитра
   ========================================================= */
/* Ники игроков/наблюдателей справа у любого стола теперь настоящие кнопки,
   но визуально полностью сохраняют прежние статусные рамки. */
.classic-rush-ui .room-list button.room-user-name,
.room-list button.room-user-name {
  appearance:none !important;
  -webkit-appearance:none !important;
  font-family:inherit !important;
  cursor:pointer !important;
}
.classic-rush-ui .room-list button.room-user-name:hover .status-nick__label,
.room-list button.room-user-name:hover .status-nick__label {
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}

/* Палитра раскрывается вверх и находится выше всех кнопок кабинета.
   Поэтому «Выйти» и «Сохранить» больше не перекрывают нижние цвета. */
.cabinet-chat-color-field,
.cabinet-chat-color-picker {
  z-index:120 !important;
}
.cabinet-chat-color-palette {
  top:auto !important;
  bottom:36px !important;
  z-index:500 !important;
}
.modal__box--cabinet .cabinet-layout,
.modal__box--cabinet .cabinet-fields,
.modal__box--cabinet .cabinet-tab-panel.is-active {
  overflow:visible !important;
}
.modal__box--cabinet .cabinet-actions {
  position:relative;
  z-index:3;
}

/* =========================================================
   v64 — чистый чёрный цвет сообщений без белого свечения
   ========================================================= */
/* Чёрный цвет, назначенный администратором, показывается именно как #000000.
   Убираем прежнюю страховочную белую подсветку и любую текстовую тень. */
.club-chat-message.is-black-message-color,
.table-chat-message.is-black-message-color,
.chat-box p.is-black-message-color,
.club-chat-message.is-black-message-color > span:not(.blocked-message),
.table-chat-message.is-black-message-color > span:not(.blocked-message),
.chat-box p.is-black-message-color > span:not(.blocked-message),
.club-chat-message.is-black-message-color .chat-nick,
.table-chat-message.is-black-message-color .chat-nick,
.chat-box p.is-black-message-color .chat-nick,
.club-chat-message.is-black-message-color .chat-nick__label,
.table-chat-message.is-black-message-color .chat-nick__label,
.chat-box p.is-black-message-color .chat-nick__label,
.chat-nick.is-black-chat-color,
.chat-nick.is-black-chat-color .chat-nick__label {
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
  text-shadow:none !important;
  filter:none !important;
}

/* =========================================================
   v65 — статусные рамки не вмешиваются в цвет сообщений
   ========================================================= */
/* В сообщениях любой статус отображается только обычным подчёркнутым ником.
   Старые Gold/Platinum nameplate-правила больше не могут вернуть рамку. */
.classic-rush-ui .club-chat-message .chat-nick,
.classic-rush-ui .club-chat-message .chat-nick.chat-author,
.classic-rush-ui .table-chat-message .chat-nick,
.classic-rush-ui .chat-box p .chat-nick,
.classic-rush-ui .club-chat-message .chat-nick.status-vip-gold,
.classic-rush-ui .club-chat-message .chat-nick.status-vip-platinum,
.classic-rush-ui .table-chat-message .chat-nick.status-vip-gold,
.classic-rush-ui .table-chat-message .chat-nick.status-vip-platinum {
  position:static !important;
  display:inline !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  margin:0 4px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  animation:none !important;
  filter:none !important;
  line-height:inherit !important;
  overflow:visible !important;
  vertical-align:baseline !important;
}
.classic-rush-ui .club-chat-message .chat-nick::before,
.classic-rush-ui .club-chat-message .chat-nick::after,
.classic-rush-ui .table-chat-message .chat-nick::before,
.classic-rush-ui .table-chat-message .chat-nick::after,
.classic-rush-ui .chat-box p .chat-nick::before,
.classic-rush-ui .chat-box p .chat-nick::after {
  content:none !important;
  display:none !important;
}

/* Если выбран пользовательский цвет, ник и его подпись строго наследуют
   цвет всей строки — статус уже не может перекрасить только ник отдельно. */
.club-chat-message.has-custom-message-color .chat-nick,
.club-chat-message.has-custom-message-color .chat-nick__label,
.table-chat-message.has-custom-message-color .chat-nick,
.table-chat-message.has-custom-message-color .chat-nick__label,
.chat-box p.has-custom-message-color .chat-nick,
.chat-box p.has-custom-message-color .chat-nick__label {
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
  text-shadow:inherit !important;
  background:none !important;
  box-shadow:none !important;
  animation:none !important;
  filter:none !important;
}

/* Правая колонка игроков никогда не использует пользовательский цвет чата.
   Даже при старом DOM/кэше статусная рамка получает правильный цвет текста. */
.classic-rush-ui .chat-user-row .chat-user-name,
.classic-rush-ui .chat-user-row .chat-user-name .status-nick__label,
.classic-rush-ui .room-list .room-user-name,
.classic-rush-ui .room-list .room-user-name .status-nick__label {
  -webkit-text-fill-color:currentColor !important;
}
.classic-rush-ui .chat-user-row .chat-user-name.status-normal,
.classic-rush-ui .chat-user-row .chat-user-name.status-normal .status-nick__label,
.classic-rush-ui .room-list .room-user-name.status-normal,
.classic-rush-ui .room-list .room-user-name.status-normal .status-nick__label {
  color:#f2fbff !important;
  -webkit-text-fill-color:#f2fbff !important;
  text-shadow:0 1px 2px #000 !important;
}
.classic-rush-ui .chat-user-row .chat-user-name.status-club,
.classic-rush-ui .chat-user-row .chat-user-name.status-club .status-nick__label,
.classic-rush-ui .room-list .room-user-name.status-club,
.classic-rush-ui .room-list .room-user-name.status-club .status-nick__label {
  color:#67e5ff !important;
  -webkit-text-fill-color:#67e5ff !important;
  text-shadow:0 1px 2px #000,0 0 7px rgba(73,218,255,.72) !important;
}
.classic-rush-ui .chat-user-row .chat-user-name.status-vip,
.classic-rush-ui .chat-user-row .chat-user-name.status-vip .status-nick__label,
.classic-rush-ui .room-list .room-user-name.status-vip,
.classic-rush-ui .room-list .room-user-name.status-vip .status-nick__label {
  color:#e29bff !important;
  -webkit-text-fill-color:#e29bff !important;
  text-shadow:0 1px 2px #000,0 0 7px rgba(218,111,255,.7) !important;
}
.classic-rush-ui .chat-user-row .chat-user-name.status-vip-gold,
.classic-rush-ui .chat-user-row .chat-user-name.status-vip-gold .status-nick__label,
.classic-rush-ui .room-list .room-user-name.status-vip-gold,
.classic-rush-ui .room-list .room-user-name.status-vip-gold .status-nick__label {
  color:#fff16a !important;
  -webkit-text-fill-color:#fff16a !important;
  text-shadow:0 1px 2px #000,0 0 7px rgba(255,177,20,.82) !important;
}
.classic-rush-ui .chat-user-row .chat-user-name.status-vip-platinum,
.classic-rush-ui .chat-user-row .chat-user-name.status-vip-platinum .status-nick__label,
.classic-rush-ui .room-list .room-user-name.status-vip-platinum,
.classic-rush-ui .room-list .room-user-name.status-vip-platinum .status-nick__label {
  color:#f7fdff !important;
  -webkit-text-fill-color:#f7fdff !important;
  text-shadow:0 1px 2px #000,0 0 8px rgba(205,245,255,.9) !important;
}


/* =========================================================
   v66 — чистый цвет сообщений, ровная строка и светлые статусные рамки
   ========================================================= */
/* Пользовательский цвет относится только к сообщению. Статусные рамки в
   списках и нижней карточке аккаунта никогда не наследуют этот цвет. */
.classic-rush-ui .chat-user-row .chat-user-name.status-vip-platinum,
.classic-rush-ui .room-list .room-user-name.status-vip-platinum {
  border:2px solid transparent !important;
  background:
    linear-gradient(180deg,#5f7f8f 0%,#294d60 48%,#173748 52%,#456b7c 100%) padding-box,
    linear-gradient(105deg,#8da6b2,#ffffff 18%,#a8c2ce 38%,#f7ffff 56%,#7894a2 77%,#eaffff) border-box !important;
  background-size:100% 100% !important;
  box-shadow:0 0 8px rgba(215,248,255,.68),inset 0 1px 0 rgba(255,255,255,.42) !important;
  animation:none !important;
}
.classic-rush-ui .profile-card.status-vip-platinum strong {
  background:linear-gradient(180deg,#678795 0%,#31576a 48%,#1e4254 52%,#527587 100%) !important;
  background-size:100% 100% !important;
  animation:none !important;
  box-shadow:0 0 8px rgba(215,248,255,.72),inset 0 1px 0 rgba(255,255,255,.4) !important;
}

/* Ник-кнопка в сообщении является обычным текстом на той же базовой линии.
   Это убирает смещение ника вверх/вниз у Gold и Platinum. */
.classic-rush-ui .club-chat-message .chat-nick,
.classic-rush-ui .table-chat-message .chat-nick,
.classic-rush-ui .chat-box p .chat-nick {
  appearance:none !important;
  -webkit-appearance:none !important;
  position:static !important;
  top:auto !important;
  left:auto !important;
  display:inline !important;
  box-sizing:content-box !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 5px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  font:inherit !important;
  line-height:inherit !important;
  vertical-align:baseline !important;
  transform:none !important;
  animation:none !important;
  filter:none !important;
}
.classic-rush-ui .club-chat-message .chat-nick__label,
.classic-rush-ui .table-chat-message .chat-nick__label,
.classic-rush-ui .chat-box p .chat-nick__label {
  position:static !important;
  display:inline !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  line-height:inherit !important;
  vertical-align:baseline !important;
  overflow:visible !important;
  white-space:nowrap !important;
  text-overflow:clip !important;
}
.classic-rush-ui .club-chat-message > span:not(.blocked-message),
.classic-rush-ui .table-chat-message .table-chat-message__text,
.classic-rush-ui .chat-box p > span:not(.blocked-message) {
  line-height:inherit !important;
  vertical-align:baseline !important;
}

/* Выбранный цвет всегда покрывает ник, обращение и весь текст сообщения.
   Более старые статусные правила больше не могут оставить ник белым/золотым. */
.classic-rush-ui .club-chat-message.has-custom-message-color,
.classic-rush-ui .table-chat-message.has-custom-message-color,
.classic-rush-ui .chat-box p.has-custom-message-color,
.classic-rush-ui .club-chat-message.has-custom-message-color .chat-nick,
.classic-rush-ui .club-chat-message.has-custom-message-color .chat-nick__label,
.classic-rush-ui .club-chat-message.has-custom-message-color > span:not(.blocked-message),
.classic-rush-ui .table-chat-message.has-custom-message-color .chat-nick,
.classic-rush-ui .table-chat-message.has-custom-message-color .chat-nick__label,
.classic-rush-ui .table-chat-message.has-custom-message-color .table-chat-message__text,
.classic-rush-ui .chat-box p.has-custom-message-color .chat-nick,
.classic-rush-ui .chat-box p.has-custom-message-color .chat-nick__label,
.classic-rush-ui .chat-box p.has-custom-message-color > span:not(.blocked-message) {
  color:var(--chat-message-color) !important;
  -webkit-text-fill-color:var(--chat-message-color) !important;
  background:none !important;
  box-shadow:none !important;
  animation:none !important;
  filter:none !important;
}

/* Чистый #000000 без белого ника, свечения или статусной заливки. */
.classic-rush-ui .club-chat-message.is-black-message-color,
.classic-rush-ui .table-chat-message.is-black-message-color,
.classic-rush-ui .chat-box p.is-black-message-color,
.classic-rush-ui .club-chat-message.is-black-message-color .chat-nick,
.classic-rush-ui .club-chat-message.is-black-message-color .chat-nick__label,
.classic-rush-ui .club-chat-message.is-black-message-color > span:not(.blocked-message),
.classic-rush-ui .table-chat-message.is-black-message-color .chat-nick,
.classic-rush-ui .table-chat-message.is-black-message-color .chat-nick__label,
.classic-rush-ui .table-chat-message.is-black-message-color .table-chat-message__text,
.classic-rush-ui .chat-box p.is-black-message-color .chat-nick,
.classic-rush-ui .chat-box p.is-black-message-color .chat-nick__label,
.classic-rush-ui .chat-box p.is-black-message-color > span:not(.blocked-message) {
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
  text-shadow:none !important;
}

/* После удаления подписей карточки игр не оставляют под названиями пустое место. */
.classic-rush-ui .game-card > p { display:none !important; }

/* =========================================================
   V67 — чистые Gold/Platinum рамки и отдельная зона кнопок
   ========================================================= */

/* Platinum: металлическая рамка остаётся, но у ника и самой плашки больше нет
   яркого белого ореола. Оставлена только лёгкая тёмная тень для читаемости. */
.classic-rush-ui .profile-card.status-vip-platinum strong,
.classic-rush-ui .chat-user-row .chat-user-name.status-vip-platinum,
.classic-rush-ui .room-list .room-user-name.status-vip-platinum,
.classic-rush-ui .player-list .lobby-user-name.status-vip-platinum,
.classic-rush-ui .poker-seat > b.seat-nick.status-vip-platinum,
.classic-rush-ui .durak-seat > b.seat-nick.status-vip-platinum,
.classic-rush-ui .app--pool-table .pool-player-badge.status-vip-platinum > b {
  box-shadow:
    0 2px 4px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.32),
    inset 0 -1px 0 rgba(4,24,35,.55) !important;
  filter:none !important;
}
.classic-rush-ui .profile-card.status-vip-platinum strong,
.classic-rush-ui .profile-card.status-vip-platinum strong .status-nick__label,
.classic-rush-ui .chat-user-row .chat-user-name.status-vip-platinum,
.classic-rush-ui .chat-user-row .chat-user-name.status-vip-platinum .status-nick__label,
.classic-rush-ui .room-list .room-user-name.status-vip-platinum,
.classic-rush-ui .room-list .room-user-name.status-vip-platinum .status-nick__label,
.classic-rush-ui .player-list .lobby-user-name.status-vip-platinum,
.classic-rush-ui .player-list .lobby-user-name.status-vip-platinum .status-nick__label,
.classic-rush-ui .poker-seat > b.seat-nick.status-vip-platinum,
.classic-rush-ui .poker-seat > b.seat-nick.status-vip-platinum .seat-nick__label,
.classic-rush-ui .durak-seat > b.seat-nick.status-vip-platinum,
.classic-rush-ui .durak-seat > b.seat-nick.status-vip-platinum .seat-nick__label,
.classic-rush-ui .app--pool-table .pool-player-badge.status-vip-platinum > b {
  color:#f2f8fb !important;
  -webkit-text-fill-color:#f2f8fb !important;
  text-shadow:0 1px 1px rgba(0,0,0,.95) !important;
  animation:none !important;
}

/* Gold: золотая окантовка сохраняется, а внутренняя заливка снова тёмная,
   чтобы рамка не выглядела сплошной золотой плашкой. */
.classic-rush-ui .profile-card.status-vip-gold strong,
.classic-rush-ui .chat-user-row .chat-user-name.status-vip-gold,
.classic-rush-ui .room-list .room-user-name.status-vip-gold,
.classic-rush-ui .player-list .lobby-user-name.status-vip-gold,
.classic-rush-ui .poker-seat > b.seat-nick.status-vip-gold,
.classic-rush-ui .durak-seat > b.seat-nick.status-vip-gold,
.classic-rush-ui .app--pool-table .pool-player-badge.status-vip-gold > b {
  border:2px solid transparent !important;
  background:
    linear-gradient(180deg,#173a4a 0%,#0b2634 48%,#061a25 52%,#102f3f 100%) padding-box,
    linear-gradient(105deg,#8a5a00,#fff2a0 18%,#d99700 36%,#fff5b7 54%,#8b5900 75%,#ffd34a) border-box !important;
  background-size:100% 100%,260% 100% !important;
  box-shadow:
    0 2px 4px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,246,170,.42),
    inset 0 -1px 0 rgba(77,39,0,.62) !important;
}
.classic-rush-ui .profile-card.status-vip-gold strong,
.classic-rush-ui .profile-card.status-vip-gold strong .status-nick__label,
.classic-rush-ui .chat-user-row .chat-user-name.status-vip-gold,
.classic-rush-ui .chat-user-row .chat-user-name.status-vip-gold .status-nick__label,
.classic-rush-ui .room-list .room-user-name.status-vip-gold,
.classic-rush-ui .room-list .room-user-name.status-vip-gold .status-nick__label,
.classic-rush-ui .player-list .lobby-user-name.status-vip-gold,
.classic-rush-ui .player-list .lobby-user-name.status-vip-gold .status-nick__label,
.classic-rush-ui .poker-seat > b.seat-nick.status-vip-gold,
.classic-rush-ui .poker-seat > b.seat-nick.status-vip-gold .seat-nick__label,
.classic-rush-ui .durak-seat > b.seat-nick.status-vip-gold,
.classic-rush-ui .durak-seat > b.seat-nick.status-vip-gold .seat-nick__label,
.classic-rush-ui .app--pool-table .pool-player-badge.status-vip-gold > b {
  color:#fff4a2 !important;
  -webkit-text-fill-color:#fff4a2 !important;
  text-shadow:0 1px 1px rgba(48,24,0,.98) !important;
}

/* Общий чат: плашка ника и кнопки теперь занимают разные колонки.
   Три кнопки полностью помещаются справа и ни одна не заходит на рамку. */
.classic-rush-ui .chat-user-row,
.classic-rush-ui .chat-user-row.status-vip-gold,
.classic-rush-ui .chat-user-row.status-vip-platinum,
.classic-rush-ui .chat-user-row.is-current {
  display:grid !important;
  grid-template-columns:50px minmax(0,1fr) 50px !important;
  align-items:center !important;
  column-gap:0 !important;
}
.classic-rush-ui .chat-user-row:has(.chat-user-actions .room-skull) {
  grid-template-columns:64px minmax(0,1fr) 64px !important;
}
.classic-rush-ui .chat-user-row .chat-user-name-cell {
  grid-column:2 !important;
  box-sizing:border-box !important;
  width:100% !important;
  min-width:0 !important;
  padding:0 !important;
  overflow:visible !important;
  justify-content:center !important;
}
.classic-rush-ui .chat-user-row .chat-user-name {
  box-sizing:border-box !important;
  width:100% !important;
  max-width:150px !important;
  min-width:0 !important;
  margin:0 auto !important;
  padding-left:8px !important;
  padding-right:8px !important;
  overflow:hidden !important;
}
.classic-rush-ui .chat-user-row .chat-user-actions {
  position:static !important;
  grid-column:3 !important;
  z-index:12 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:50px !important;
  min-width:50px !important;
  max-width:50px !important;
  height:18px !important;
  gap:1px !important;
  transform:none !important;
  overflow:visible !important;
}
.classic-rush-ui .chat-user-row:has(.chat-user-actions .room-skull) .chat-user-actions {
  width:64px !important;
  min-width:64px !important;
  max-width:64px !important;
}
.classic-rush-ui .chat-user-row .chat-user-actions .room-action,
.classic-rush-ui .chat-user-row .chat-user-actions .room-skull {
  flex:0 0 14px !important;
  width:14px !important;
  min-width:14px !important;
  height:14px !important;
  margin:0 !important;
  line-height:12px !important;
}

/* Правая панель игрового стола получает ту же схему: номер, отдельная
   плашка ника и отдельная колонка действий. */
.classic-rush-ui .room-list li.room-user-row,
.room-list li.room-user-row {
  grid-template-columns:17px minmax(0,1fr) 50px !important;
  column-gap:2px !important;
}
.classic-rush-ui .room-list li.room-user-row:has(.room-user-actions .room-skull),
.room-list li.room-user-row:has(.room-user-actions .room-skull) {
  grid-template-columns:17px minmax(0,1fr) 65px !important;
}
.classic-rush-ui .room-list li.room-user-row > span.room-user-actions,
.room-list li.room-user-row > span.room-user-actions {
  position:static !important;
  grid-column:3 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:50px !important;
  min-width:50px !important;
  max-width:50px !important;
  gap:1px !important;
  transform:none !important;
}
.classic-rush-ui .room-list li.room-user-row:has(.room-user-actions .room-skull) > span.room-user-actions,
.room-list li.room-user-row:has(.room-user-actions .room-skull) > span.room-user-actions {
  width:65px !important;
  min-width:65px !important;
  max-width:65px !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-name,
.room-list li.room-user-row > .room-user-name {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding-left:6px !important;
  padding-right:6px !important;
  overflow:hidden !important;
}


/* ===== V68: Дурак подкидной 2x2 ===== */
.classic-rush-ui .app--menu .game-grid--six,
.game-grid--six {
  left: 78px;
  top: 106px;
  width: 950px;
  grid-template-columns: repeat(3, 292px);
  grid-template-rows: repeat(2, 230px);
  column-gap: 36px;
  row-gap: 8px;
  justify-content: center;
}
.classic-rush-ui .app--menu .game-grid--six .game-card { height: 230px; }
.classic-rush-ui .app--menu .game-grid--six .game-card__plate {
  left: 61px;
  top: 0;
  width: 170px;
  height: 144px;
}
.classic-rush-ui .app--menu .game-grid--six .game-card__count {
  right: 49px;
  top: -7px;
  font-size: 17px;
}
.classic-rush-ui .app--menu .game-grid--six .game-card h3 {
  top: 112px;
  font-size: 23px;
  line-height: 1.02;
}
.classic-rush-ui .app--menu .game-grid--six .game-card p { display: none; }
.classic-rush-ui .app--menu .game-grid--six .icon--texas::before,
.classic-rush-ui .app--menu .game-grid--six .icon--durak::before {
  left: 31px;
  transform: rotate(-12deg) scale(.88);
}
.classic-rush-ui .app--menu .game-grid--six .icon--texas::after,
.classic-rush-ui .app--menu .game-grid--six .icon--durak::after {
  left: 84px;
  transform: rotate(12deg) scale(.88);
}
.game-card[data-kind="durak-team"] .game-card__plate::after {
  content: "2×2";
  position: absolute;
  right: -4px;
  bottom: 7px;
  z-index: 7;
  width: 48px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 3px solid #fff2a0;
  border-radius: 17px;
  color: #fff7b0;
  background: linear-gradient(#25a8d8, #07547f 58%, #04304f);
  box-shadow: 0 4px 8px rgba(0,0,0,.48), inset 0 2px rgba(255,255,255,.27), 0 0 13px rgba(50,210,255,.3);
  font: 1000 16px/1 Arial, sans-serif;
  text-shadow: 0 2px 2px #001c2b;
}

.app--durak-table .durak-seat--team-1 .durak-avatar {
  box-shadow: 0 4px 5px rgba(0,0,0,.42), inset 0 0 0 2px rgba(255,255,255,.25), 0 0 0 3px rgba(48,211,255,.72), 0 0 15px rgba(48,211,255,.32);
}
.app--durak-table .durak-seat--team-2 .durak-avatar {
  box-shadow: 0 4px 5px rgba(0,0,0,.42), inset 0 0 0 2px rgba(255,255,255,.25), 0 0 0 3px rgba(255,176,43,.76), 0 0 15px rgba(255,176,43,.3);
}
.app--durak-table .durak-team-badge {
  position: absolute;
  left: 50%;
  top: -17px;
  z-index: 22;
  width: 90px;
  height: 18px;
  transform: translateX(-50%);
  border: 1px solid rgba(255,255,255,.58);
  border-radius: 9px;
  color: #fff;
  font: 1000 10px/16px Arial, sans-serif;
  letter-spacing: .4px;
  text-align: center;
  text-shadow: 0 1px 1px #00131d;
  box-shadow: 0 3px 6px rgba(0,0,0,.35);
  pointer-events: none;
}
.app--durak-table .durak-seat--team-1 .durak-team-badge { background: linear-gradient(#34c7ef, #087aa8 58%, #034e75); }
.app--durak-table .durak-seat--team-2 .durak-team-badge { background: linear-gradient(#ffc04b, #d87709 58%, #8a3d00); }
.app--durak-table .durak-seat.is-winner > em {
  border-color: #b8ffd0;
  color: #effff4;
  background: linear-gradient(#52da87, #0b8b43 58%, #04572a);
  box-shadow: 0 0 13px rgba(67,255,133,.36);
}
.app--durak-table .durak-teams-bar {
  position: absolute;
  inset: 0;
  z-index: 13;
  pointer-events: none;
}
.app--durak-table .durak-team-summary {
  position: absolute;
  top: 148px;
  width: 154px;
  min-height: 43px;
  padding: 6px 8px;
  border: 2px solid rgba(255,255,255,.38);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(12,78,104,.93), rgba(3,38,55,.96));
  box-shadow: 0 5px 9px rgba(0,0,0,.35), inset 0 1px rgba(255,255,255,.12);
  text-align: center;
  text-shadow: 0 2px 1px #00131d;
}
.app--durak-table .durak-team-summary--1 { left: 13px; border-color: rgba(63,220,255,.75); }
.app--durak-table .durak-team-summary--2 { right: 13px; border-color: rgba(255,185,56,.78); }
.app--durak-table .durak-team-summary b,
.app--durak-table .durak-team-summary span {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.app--durak-table .durak-team-summary b { color: #fff27a; font-size: 11px; }
.app--durak-table .durak-team-summary span { margin-top: 3px; color: #eafaff; font-size: 10px; font-weight: 900; }
.app--durak-table .durak-team-summary.is-winner {
  border-color: #8dffaf;
  background: linear-gradient(180deg, rgba(23,130,66,.95), rgba(4,65,31,.97));
  box-shadow: 0 5px 9px rgba(0,0,0,.35), 0 0 16px rgba(70,255,133,.32);
}
.app--durak-table .durak-team-summary.is-loser {
  border-color: #ff9c9c;
  background: linear-gradient(180deg, rgba(147,37,37,.95), rgba(72,5,5,.97));
}

/* ===== V69: Дурак 2x2 — чистый стол и выбор стороны наблюдателем ===== */
.app--durak-table .durak-team-join {
  position: absolute;
  right: 160px;
  bottom: 14px;
  z-index: 90;
  display: flex;
  align-items: center;
  gap: 7px;
  pointer-events: auto;
}
.app--durak-table .durak-team-join > button {
  width: 116px;
  height: 28px;
  padding: 0 8px;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 15px;
  background: linear-gradient(#d8eef8, #7daac0 54%, #315a72);
  color: #fff;
  font: 900 12px/26px Arial, sans-serif;
  text-align: center;
  text-shadow: 0 1px 1px #000;
  box-shadow: inset 0 2px rgba(255,255,255,.32), 0 3px 6px rgba(0,0,0,.36);
  cursor: pointer;
}
.app--durak-table .durak-team-join > button:hover:not(:disabled) {
  filter: brightness(1.1);
}
.app--durak-table .durak-team-join > button:disabled {
  opacity: .42;
  cursor: default;
  filter: grayscale(.55);
}


/* ===== V70: командный Дурак 2×2 — отдельная статистика и чистые ожидания ===== */

/* Шесть игровых дисциплин аккуратно помещаются двумя рядами. */
.classic-rush-ui .cabinet-stats-grid,
.cabinet-stats-grid,
.classic-rush-ui .public-game-stats,
.public-game-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* У Gold остаётся золотая движущаяся окантовка, но внутренняя часть плашки тёмная. */
.classic-rush-ui .profile-card.status-vip-gold strong,
.classic-rush-ui .chat-user-row .chat-user-name.status-vip-gold,
.classic-rush-ui .room-list .room-user-name.status-vip-gold,
.classic-rush-ui .player-list .lobby-user-name.status-vip-gold,
.classic-rush-ui .poker-seat > b.seat-nick.status-vip-gold,
.classic-rush-ui .durak-seat > b.seat-nick.status-vip-gold,
.classic-rush-ui .app--pool-table .pool-player-badge.status-vip-gold > b {
  background:
    linear-gradient(180deg,#173a4a 0%,#0b2634 48%,#061a25 52%,#102f3f 100%) padding-box,
    linear-gradient(105deg,#8a5a00,#fff2a0 18%,#d99700 36%,#fff5b7 54%,#8b5900 75%,#ffd34a) border-box !important;
}

/* ===== V71: Шахматы с контролями 3+3, 10+5 и 30+5 ===== */
.classic-rush-ui .app--menu .game-grid--seven,
.game-grid--seven {
  left: 70px;
  top: 100px;
  width: 970px;
  height: 470px;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  grid-template-rows: repeat(2, 225px);
  column-gap: 10px;
  row-gap: 10px;
  align-items: start;
}
.game-grid--seven .game-card { height: 225px; min-width: 0; }
.game-grid--seven .game-card:nth-child(1) { grid-column: 1 / span 2; }
.game-grid--seven .game-card:nth-child(2) { grid-column: 3 / span 2; }
.game-grid--seven .game-card:nth-child(3) { grid-column: 5 / span 2; }
.game-grid--seven .game-card:nth-child(4) { grid-column: 7 / span 2; }
.game-grid--seven .game-card:nth-child(5) { grid-column: 2 / span 2; }
.game-grid--seven .game-card:nth-child(6) { grid-column: 4 / span 2; }
.game-grid--seven .game-card:nth-child(7) { grid-column: 6 / span 2; }
.classic-rush-ui .app--menu .game-grid--seven .game-card__plate,
.game-grid--seven .game-card__plate {
  left: 50%;
  top: 0;
  width: 158px;
  height: 137px;
  transform: translateX(-50%);
}
.classic-rush-ui .app--menu .game-grid--seven .game-card__count,
.game-grid--seven .game-card__count { right: 18px; top: -4px; font-size: 16px; }
.classic-rush-ui .app--menu .game-grid--seven .game-card h3,
.game-grid--seven .game-card h3 { top: 113px; font-size: 21px; line-height: 1.02; }
.game-grid--seven .game-card p { display: none; }
.game-grid--seven .icon--texas::before,
.game-grid--seven .icon--durak::before { left: 26px; transform: rotate(-12deg) scale(.82); }
.game-grid--seven .icon--texas::after,
.game-grid--seven .icon--durak::after { left: 77px; transform: rotate(12deg) scale(.82); }

.icon--chess {
  position: absolute;
  inset: 7px 8px 9px;
  display: grid;
  place-items: center;
  border: 3px solid #e8f8ff;
  border-radius: 22px;
  color: #fff7d0;
  background:
    linear-gradient(45deg, rgba(255,255,255,.13) 25%, transparent 25% 75%, rgba(255,255,255,.13) 75%) 0 0 / 34px 34px,
    linear-gradient(45deg, transparent 25%, rgba(0,26,41,.25) 25% 75%, transparent 75%) 17px 17px / 34px 34px,
    linear-gradient(180deg,#2ec4e7,#0878a8 58%,#03466d);
  box-shadow: inset 0 3px rgba(255,255,255,.3), inset 0 -7px 12px rgba(0,23,41,.28), 0 5px 9px rgba(0,0,0,.42);
  font: 900 92px/1 Georgia, "Times New Roman", serif;
  text-shadow: 0 4px 2px #002b42, 0 0 8px rgba(255,255,255,.55);
}
.game-card[data-kind="chess"] .game-card__plate::after {
  content: "3+3";
  position: absolute;
  right: -7px;
  bottom: 4px;
  z-index: 8;
  min-width: 44px;
  height: 28px;
  padding: 0 7px;
  border: 2px solid #fff0a5;
  border-radius: 15px;
  background: linear-gradient(#ffd75d,#c87908 60%,#713700);
  color: #fff;
  font: 1000 13px/25px Arial,sans-serif;
  text-align: center;
  text-shadow: 0 1px 1px #502300;
  box-shadow: 0 3px 7px rgba(0,0,0,.45), inset 0 2px rgba(255,255,255,.3);
}

.app--chess-table .table-area--chess {
  overflow: hidden;
  background:
    radial-gradient(circle at 44% 47%, rgba(46,174,187,.24), transparent 46%),
    linear-gradient(145deg,#0d5263 0%,#073949 55%,#052c3a 100%);
}
.app--chess-table .table-area--chess::before {
  content: "";
  position: absolute;
  inset: 35px 8px 7px;
  border: 1px solid rgba(195,246,255,.22);
  border-radius: 17px;
  box-shadow: inset 0 0 44px rgba(0,0,0,.26);
  pointer-events: none;
}
.app--chess-table .green-table,
.app--chess-table .table-area > .player-seat,
.app--chess-table .table-area > .sit-btn { display: none !important; }
.app--chess-table .exit-btn {
  z-index: 180;
  right: 13px;
  bottom: 11px;
}
.chess-layer {
  position: absolute;
  inset: 0;
  z-index: 35;
  overflow: hidden;
  color: #fff;
  font-family: Arial, sans-serif;
}
.chess-stage { position: absolute; inset: 0; }
.chess-board-frame {
  position: absolute;
  left: 20px;
  top: 65px;
  width: 508px;
  height: 508px;
  padding: 6px;
  border: 2px solid #d7edf4;
  border-radius: 8px;
  background: linear-gradient(145deg,#d5edf4,#7fa5b3 46%,#294f60 52%,#0c2e3c);
  box-shadow: 0 10px 19px rgba(0,0,0,.5), inset 0 2px rgba(255,255,255,.8), 0 0 0 3px rgba(0,20,29,.5);
}
.chess-board {
  width: 496px;
  height: 496px;
  display: grid;
  grid-template-columns: repeat(8, 62px);
  grid-template-rows: repeat(8, 62px);
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.58);
  background: #dbe7d1;
}
.chess-square {
  position: relative;
  width: 62px;
  height: 62px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  display: grid;
  place-items: center;
  cursor: default;
  appearance: none;
  box-shadow: none;
  outline: 0;
}
.chess-square.is-light { background: #d9e5d2; }
.chess-square.is-dark { background: #5f8b83; }
.chess-square.is-last-move.is-light { background: #e5dc82; }
.chess-square.is-last-move.is-dark { background: #a5a94d; }
.chess-square.is-selectable { cursor: pointer; }
.chess-square.is-selectable::before {
  content: "";
  position: absolute;
  inset: 5px;
  border: 2px solid rgba(78,225,255,.58);
  border-radius: 8px;
  opacity: 0;
  transition: opacity .12s;
}
.chess-square.is-selectable:hover::before { opacity: 1; }
.chess-square.is-selected {
  background: #55bdd0 !important;
  box-shadow: inset 0 0 0 4px rgba(233,255,255,.8);
}
.chess-square.is-target::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(5,56,52,.42);
  box-shadow: 0 0 0 3px rgba(230,255,238,.55);
}
.chess-square.is-target:has(.chess-piece)::after {
  width: 52px;
  height: 52px;
  border: 5px solid rgba(255,236,111,.83);
  background: transparent;
  box-shadow: none;
}
.chess-square.is-check {
  background: radial-gradient(circle,#ff5252 0%,#b11223 55%,#700512 100%) !important;
  animation: chess-check-pulse 1s ease-in-out infinite alternate;
}
@keyframes chess-check-pulse { to { filter: brightness(1.25); } }
.chess-piece {
  position: relative;
  z-index: 3;
  display: block;
  width: 58px;
  height: 58px;
  font: 900 51px/58px "Segoe UI Symbol","Noto Sans Symbols 2",Arial,sans-serif;
  text-align: center;
  transform: translateY(-1px);
  user-select: none;
  pointer-events: none;
}
.chess-piece--white {
  color: #fff9df;
  -webkit-text-stroke: .8px #2c3b3c;
  text-shadow: 0 3px 1px rgba(0,0,0,.48), 0 0 2px #fff;
}
.chess-piece--black {
  color: #17343c;
  -webkit-text-stroke: .55px #e5f5ee;
  text-shadow: 0 3px 1px rgba(0,0,0,.35);
}
.chess-file-label,
.chess-rank-label {
  position: absolute;
  z-index: 4;
  color: rgba(2,37,39,.72);
  font: 900 10px/1 Arial,sans-serif;
  pointer-events: none;
}
.chess-file-label { right: 3px; bottom: 2px; }
.chess-rank-label { left: 3px; top: 3px; }
.chess-square.is-dark .chess-file-label,
.chess-square.is-dark .chess-rank-label { color: rgba(232,255,247,.78); }

.chess-side-panel {
  position: absolute;
  left: 545px;
  top: 57px;
  width: 282px;
  height: 520px;
  display: grid;
  grid-template-rows: 86px 98px 1fr 86px;
  gap: 7px;
}
.chess-player-card {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-columns: 58px minmax(0,1fr) 82px;
  align-items: center;
  gap: 7px;
  padding: 6px 7px;
  border: 2px solid rgba(188,231,241,.56);
  border-radius: 13px;
  background: linear-gradient(180deg,rgba(23,82,99,.98),rgba(5,43,57,.98));
  box-shadow: 0 5px 10px rgba(0,0,0,.38), inset 0 1px rgba(255,255,255,.12);
}
.chess-player-card.is-turn {
  border-color: #ffe272;
  box-shadow: 0 5px 10px rgba(0,0,0,.38), 0 0 14px rgba(255,221,87,.38), inset 0 1px rgba(255,255,255,.18);
}
.chess-player-card.is-me { background: linear-gradient(180deg,rgba(25,101,119,.98),rgba(4,53,68,.98)); }
.chess-player-card.is-empty { opacity: .73; }
.chess-player-avatar-wrap { position: relative; width: 56px; height: 56px; }
.chess-player-avatar,
.chess-player-avatar > img {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
}
.chess-player-avatar {
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 2px solid rgba(255,255,255,.75);
  background: linear-gradient(#d8eef5,#6b9aaa);
  box-shadow: inset 0 1px rgba(255,255,255,.45), 0 3px 6px rgba(0,0,0,.4);
}
.chess-player-avatar--empty { color: #315d6d; font: 900 36px/1 Georgia,serif; }
.chess-player-avatar-wrap .rank-wreath--chess {
  position: absolute !important;
  z-index: 4;
  left: -10px !important;
  top: -11px !important;
  width: 76px !important;
  height: 76px !important;
  pointer-events: none;
}
.chess-player-copy { min-width: 0; overflow: hidden; }
.chess-player-copy small,
.chess-player-copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chess-player-copy small { color: #9ddce9; font: 900 10px/1.1 Arial,sans-serif; text-transform: uppercase; }
.chess-player-copy b,
.chess-player-copy .chess-player-name {
  display: block;
  max-width: 100%;
  margin: 3px 0 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #fff;
  font: 1000 14px/1.1 Arial,sans-serif;
  text-shadow: 0 2px 1px #001b27;
}
.chess-player-copy span { color: #c8e6ed; font: 800 10px/1.1 Arial,sans-serif; }
.chess-clock {
  min-width: 76px;
  padding: 8px 5px;
  border: 2px solid rgba(255,255,255,.55);
  border-radius: 9px;
  background: linear-gradient(#e6f2f4,#95b0b5 54%,#5d777d);
  color: #173039;
  font: 1000 21px/1 Arial,sans-serif;
  text-align: center;
  letter-spacing: -.6px;
  box-shadow: inset 0 2px rgba(255,255,255,.55), 0 3px 5px rgba(0,0,0,.3);
}
.chess-clock.is-active { background: linear-gradient(#fff7a4,#f2c43a 56%,#b66b05); color: #442300; }
.chess-clock.is-low { color: #8b2200; }
.chess-clock.is-critical { background: linear-gradient(#ffaaa4,#e54238 57%,#8c0d08); color: #fff; animation: chess-clock-pulse .6s ease-in-out infinite alternate; }
@keyframes chess-clock-pulse { to { transform: scale(1.04); filter: brightness(1.17); } }

.chess-match-info,
.chess-history {
  border: 1px solid rgba(180,224,235,.42);
  border-radius: 11px;
  background: linear-gradient(180deg,rgba(4,53,68,.96),rgba(2,33,45,.98));
  box-shadow: inset 0 1px rgba(255,255,255,.09), 0 4px 8px rgba(0,0,0,.3);
}
.chess-match-info { padding: 8px 10px; }
.chess-match-info h3 {
  margin: 0 0 6px;
  color: #ffe878;
  font: 1000 13px/1.1 Arial,sans-serif;
  text-align: center;
  text-shadow: 0 1px 1px #000;
}
.chess-match-info > div { display: flex; justify-content: space-between; color: #b7dce5; font-size: 11px; }
.chess-match-info > div b { color: #fff; }
.chess-match-info p {
  margin: 6px -3px -2px;
  padding: 4px 6px;
  border-radius: 7px;
  background: rgba(0,0,0,.23);
  color: #d9f3f8;
  font: 900 11px/1.2 Arial,sans-serif;
  text-align: center;
}
.chess-match-info p.is-my-turn { background: rgba(239,190,30,.24); color: #fff18a; }
.chess-history { min-height: 0; padding: 5px 6px; overflow: auto; }
.chess-history header,
.chess-history-row {
  display: grid;
  grid-template-columns: 28px 1fr 1fr;
  gap: 3px;
  align-items: center;
}
.chess-history header {
  position: sticky;
  top: -5px;
  z-index: 2;
  margin: -5px -6px 4px;
  padding: 5px 7px;
  background: #173e4c;
  color: #a8d2dd;
  font: 900 9px/1 Arial,sans-serif;
  text-transform: uppercase;
}
.chess-history-row { min-height: 20px; border-bottom: 1px solid rgba(255,255,255,.06); font: 800 11px/1 Arial,sans-serif; }
.chess-history-row b { color: #7faab5; }
.chess-history-row span { color: #edf9fb; }
.chess-history-empty { padding: 15px 4px; color: #7faab5; font: 800 11px/1.3 Arial,sans-serif; text-align: center; }
.chess-join-button {
  position: absolute;
  left: 331px;
  bottom: 12px;
  z-index: 85;
  min-width: 150px;
  height: 30px;
  border: 1px solid #fff;
  border-radius: 15px;
  background: linear-gradient(#dff5fb,#75aec3 55%,#315f75);
  color: #fff;
  font: 1000 12px/28px Arial,sans-serif;
  text-shadow: 0 1px 1px #000;
  box-shadow: inset 0 2px rgba(255,255,255,.36),0 4px 7px rgba(0,0,0,.38);
  cursor: pointer;
}

.chess-promotion-shade {
  position: absolute;
  inset: 0;
  z-index: 500;
  display: grid;
  place-items: center;
  background: rgba(0,18,25,.68);
  backdrop-filter: blur(2px);
}
.chess-promotion-box {
  width: 350px;
  padding: 18px;
  border: 2px solid #d9f4fa;
  border-radius: 16px;
  background: linear-gradient(#1b7185,#08465a 58%,#042b3a);
  box-shadow: 0 15px 32px rgba(0,0,0,.58),inset 0 2px rgba(255,255,255,.18);
  text-align: center;
}
.chess-promotion-box h3 { margin: 0 0 13px; color: #fff4a0; font-size: 20px; }
.chess-promotion-box > div { display: flex; justify-content: center; gap: 10px; }
.chess-promotion-box > div button {
  width: 64px;
  height: 64px;
  border: 2px solid rgba(255,255,255,.72);
  border-radius: 11px;
  background: linear-gradient(#d7e9e4,#6c9e96);
  color: #18383d;
  font: 900 49px/58px Georgia,serif;
  cursor: pointer;
  box-shadow: inset 0 2px rgba(255,255,255,.6),0 4px 8px rgba(0,0,0,.35);
}
.chess-promotion-box > div button:hover { filter: brightness(1.12); transform: translateY(-2px); }
.chess-promotion-cancel {
  margin-top: 13px;
  min-width: 120px;
  height: 29px;
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 15px;
  background: linear-gradient(#86a9b6,#315d6e);
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}
.game-result-row.is-draw {
  border-color: #f3db69 !important;
  background: linear-gradient(90deg,rgba(131,104,13,.44),rgba(40,52,55,.75)) !important;
}
.game-result-row.is-draw b,
.game-result-row.is-draw em { color: #fff099 !important; }

/* Семь дисциплин в статистике: четыре карточки в первом ряду, три во втором. */
.classic-rush-ui .cabinet-stats-grid,
.cabinet-stats-grid,
.classic-rush-ui .public-game-stats,
.public-game-stats { grid-template-columns: repeat(4, minmax(0,1fr)) !important; }


/* ===== V76: настоящий цвет шахматных фигур + чат поверх нижней панели ===== */
/* Белые и чёрные теперь используют разные Unicode-глифы. Эти правила лишь
   усиливают контраст и не определяют игровую сторону — цвет приходит с сервера. */
.app--chess-table .chess-piece--white {
  color: #fff8dc !important;
  -webkit-text-stroke: 1px #26383b !important;
  text-shadow:
    0 2px 1px rgba(0,0,0,.58),
    0 0 2px rgba(255,255,255,.95) !important;
}
.app--chess-table .chess-piece--black {
  color: #173039 !important;
  -webkit-text-stroke: .7px #eef8ed !important;
  text-shadow: 0 2px 1px rgba(0,0,0,.42) !important;
}

/* Нижняя синяя навигационная панель раньше находилась выше правого блока и
   визуально закрывала нижнюю часть чата. Сам чат поднимаем отдельным слоем. */
.app--table .room-panel {
  z-index: 60;
}
.app--chess-table .room-panel {
  isolation: isolate;
}


/* ===== V77: гарантированно правильные SVG-фигуры ===== */
.app--chess-table .chess-piece {
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  -webkit-text-stroke: 0 transparent !important;
  text-shadow: none !important;
}
.app--chess-table .chess-piece-svg {
  display: block;
  width: 48px;
  height: 52px;
  overflow: visible;
  pointer-events: none;
  filter: drop-shadow(0 2px 1px rgba(0,0,0,.42));
}
.app--chess-table .chess-piece-svg--white {
  filter: drop-shadow(0 2px 1px rgba(0,0,0,.52)) drop-shadow(0 0 1px rgba(255,255,255,.95));
}
.app--chess-table .chess-piece-svg--black {
  filter: drop-shadow(0 2px 1px rgba(0,0,0,.38));
}
.app--chess-table .chess-promotion-box button .chess-piece-svg--promotion {
  width: 42px;
  height: 42px;
  margin: auto;
}


/* ===== V78: более классические, аккуратные шахматные фигуры ===== */
.app--chess-table .chess-piece-svg {
  width: 44px !important;
  height: 49px !important;
  max-width: 78%;
  max-height: 86%;
  object-fit: contain;
  overflow: visible;
  user-select: none;
  -webkit-user-drag: none;
  filter: none !important;
  transform: translateY(-1px);
}
.app--chess-table .chess-piece-svg--white {
  filter: drop-shadow(0 2px 1px rgba(0,0,0,.18)) !important;
}
.app--chess-table .chess-piece-svg--black {
  filter: drop-shadow(0 2px 1px rgba(0,0,0,.16)) !important;
}
.app--chess-table .chess-promotion-box button .chess-piece-svg--promotion {
  width: 39px !important;
  height: 43px !important;
  max-width: none;
  max-height: none;
}


/* ===== V79: объёмные фигуры в стиле деревянного Staunton ===== */
.app--chess-table .chess-piece-svg {
  width: 54px !important;
  height: 61px !important;
  max-width: 88%;
  max-height: 94%;
  transform: translateY(-1px);
  filter: none !important;
}
.app--chess-table .chess-piece-svg--white,
.app--chess-table .chess-piece-svg--black {
  filter: none !important;
}
.app--chess-table .chess-promotion-box button .chess-piece-svg--promotion {
  width: 48px !important;
  height: 54px !important;
}

/* =========================================================
   V87 — единая Platinum-система для лобби, чата и всех игр
   ========================================================= */

/* Один набор координат управляет одновременно SVG-венком и его блёстками.
   Поэтому частицы больше невозможно случайно сдвинуть отдельно от венка. */
.classic-rush-ui .profile-card {
  --rank-wreath-left: 13px;
  --rank-wreath-top: auto;
  --rank-wreath-bottom: 38px;
  --rank-wreath-width: 150px;
  --rank-wreath-height: 123px;
}
.classic-rush-ui .app--pool-table .profile-card {
  --rank-wreath-left: 5px;
  --rank-wreath-top: auto;
  --rank-wreath-bottom: 28px;
  --rank-wreath-width: 130px;
  --rank-wreath-height: 106px;
}
.classic-rush-ui .avatar-stage {
  --rank-wreath-left: -18px;
  --rank-wreath-top: -12px;
  --rank-wreath-bottom: auto;
  --rank-wreath-width: 208px;
  --rank-wreath-height: 172px;
}
.classic-rush-ui .status-preview {
  --rank-wreath-left: 42px;
  --rank-wreath-top: 4px;
  --rank-wreath-bottom: auto;
  --rank-wreath-width: 166px;
  --rank-wreath-height: 137px;
}
.classic-rush-ui .poker-seat {
  --rank-wreath-left: -24px;
  --rank-wreath-top: -52px;
  --rank-wreath-bottom: auto;
  --rank-wreath-width: 165px;
  --rank-wreath-height: 130px;
}
.classic-rush-ui .durak-seat {
  --rank-wreath-left: -22px;
  --rank-wreath-top: -53px;
  --rank-wreath-bottom: auto;
  --rank-wreath-width: 160px;
  --rank-wreath-height: 129px;
}
.classic-rush-ui .app--pool-table .pool-player-badge {
  --rank-wreath-left: -2px;
  --rank-wreath-top: -14px;
  --rank-wreath-bottom: auto;
  --rank-wreath-width: 135px;
  --rank-wreath-height: 112px;
}
.classic-rush-ui .chess-player-avatar-wrap {
  --rank-wreath-left: -10px;
  --rank-wreath-top: -11px;
  --rank-wreath-bottom: auto;
  --rank-wreath-width: 76px;
  --rank-wreath-height: 76px;
}
.classic-rush-ui .public-profile-avatar-stage {
  --rank-wreath-left: -11px;
  --rank-wreath-top: -11px;
  --rank-wreath-bottom: auto;
  --rank-wreath-width: 116px;
  --rank-wreath-height: 116px;
}

.classic-rush-ui :is(
  .profile-card,
  .avatar-stage,
  .status-preview,
  .poker-seat,
  .durak-seat,
  .pool-player-badge,
  .chess-player-avatar-wrap,
  .public-profile-avatar-stage
) {
  overflow: visible !important;
}
.classic-rush-ui :is(
  .profile-card,
  .avatar-stage,
  .status-preview,
  .poker-seat,
  .durak-seat,
  .pool-player-badge,
  .chess-player-avatar-wrap,
  .public-profile-avatar-stage
).status-vip-platinum {
  isolation: isolate;
}

/* Венок и поле частиц используют одни и те же переменные и один размер. */
.classic-rush-ui :is(
  .profile-card,
  .avatar-stage,
  .status-preview,
  .poker-seat,
  .durak-seat,
  .pool-player-badge,
  .chess-player-avatar-wrap,
  .public-profile-avatar-stage
) > :is(.rank-wreath, .platinum-sparks--wreath) {
  position: absolute !important;
  left: var(--rank-wreath-left) !important;
  top: var(--rank-wreath-top) !important;
  bottom: var(--rank-wreath-bottom) !important;
  width: var(--rank-wreath-width) !important;
  height: var(--rank-wreath-height) !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  transform-origin: 50% 50% !important;
  clip-path: none !important;
  -webkit-clip-path: none !important;
  pointer-events: none !important;
}
/* Более специфичные старые правила компактного профиля бильярда больше не
   могут разорвать связь между венком и частицами. */
.classic-rush-ui .app--pool-table .profile-card > :is(.rank-wreath, .platinum-sparks--wreath) {
  left: var(--rank-wreath-left) !important;
  top: var(--rank-wreath-top) !important;
  bottom: var(--rank-wreath-bottom) !important;
  width: var(--rank-wreath-width) !important;
  height: var(--rank-wreath-height) !important;
  transform: none !important;
}
.classic-rush-ui .app--pool-table .pool-player-badge > :is(.rank-wreath, .platinum-sparks--wreath),
.classic-rush-ui .app--chess-table .chess-player-avatar-wrap > :is(.rank-wreath, .platinum-sparks--wreath) {
  left: var(--rank-wreath-left) !important;
  top: var(--rank-wreath-top) !important;
  bottom: var(--rank-wreath-bottom) !important;
  width: var(--rank-wreath-width) !important;
  height: var(--rank-wreath-height) !important;
}
.classic-rush-ui .app--pool-table .profile-card > .rank-wreath,
.classic-rush-ui .app--pool-table .pool-player-badge > .rank-wreath,
.classic-rush-ui .app--chess-table .chess-player-avatar-wrap > .rank-wreath {
  z-index: 1 !important;
}
.classic-rush-ui .app--pool-table .profile-card > .platinum-sparks--wreath,
.classic-rush-ui .app--pool-table .pool-player-badge > .platinum-sparks--wreath,
.classic-rush-ui .app--chess-table .chess-player-avatar-wrap > .platinum-sparks--wreath {
  z-index: 60 !important;
}
.classic-rush-ui :is(
  .profile-card,
  .avatar-stage,
  .status-preview,
  .poker-seat,
  .durak-seat,
  .pool-player-badge,
  .chess-player-avatar-wrap,
  .public-profile-avatar-stage
) > .rank-wreath {
  z-index: 1 !important;
}
.classic-rush-ui :is(
  .profile-card,
  .avatar-stage,
  .status-preview,
  .poker-seat,
  .durak-seat,
  .pool-player-badge,
  .chess-player-avatar-wrap,
  .public-profile-avatar-stage
) > .platinum-sparks--wreath {
  z-index: 60 !important;
}

/* Старые общие вспышки и пульсация SVG отключены. Работают только независимые
   маленькие звёздочки, одинаковые в чате и на игровых плашках. */
.classic-rush-ui :is(
  .profile-card,
  .avatar-stage,
  .status-preview,
  .poker-seat,
  .durak-seat,
  .pool-player-badge,
  .chess-player-avatar-wrap,
  .public-profile-avatar-stage
).status-vip-platinum::before,
.classic-rush-ui :is(
  .profile-card,
  .avatar-stage,
  .status-preview,
  .poker-seat,
  .durak-seat,
  .pool-player-badge,
  .chess-player-avatar-wrap,
  .public-profile-avatar-stage
).status-vip-platinum::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}
.classic-rush-ui .status-vip-platinum > .rank-wreath--platinum,
.classic-rush-ui .status-vip-platinum .rank-wreath--platinum {
  animation: none !important;
  filter: drop-shadow(0 4px 4px rgba(0,0,0,.56)) brightness(1.035) !important;
}

/* Блёстки доступны только на Platinum. */
.classic-rush-ui .platinum-sparks--wreath { display: none; }
.classic-rush-ui .status-vip-platinum > .platinum-sparks--wreath {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
}

/* Одна и та же рамочная анимация теперь вставляется в ник покера, Sit & Go,
   всех режимов дурака, бильярда, шахмат, лобби и правых чат-панелей. */
.classic-rush-ui :is(
  .profile-card > strong,
  .poker-seat > b.seat-nick,
  .durak-seat > b.seat-nick,
  .pool-player-badge > b.seat-nick,
  .status-nick
) {
  overflow: visible !important;
}
.classic-rush-ui :is(
  .profile-card > strong,
  .poker-seat > b.seat-nick,
  .durak-seat > b.seat-nick,
  .pool-player-badge > b.seat-nick,
  .status-nick
) > :is(.seat-nick__label, .status-nick__label, .chat-user-name__text) {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}
.classic-rush-ui .platinum-sparks--frame {
  position: absolute !important;
  left: -2px !important;
  right: -2px !important;
  top: -2px !important;
  bottom: -2px !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 70 !important;
  pointer-events: none !important;
}

/* Лёгкая независимая звёздочка. Без hue-rotate, blur и псевдоэлементов,
   поэтому даже несколько Platinum-игроков не вызывают рывков. */
.classic-rush-ui .platinum-sparks {
  position: absolute;
  display: block;
  overflow: visible;
  pointer-events: none;
  isolation: isolate;
}
.classic-rush-ui .platinum-sparks i {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: calc(var(--size) * 3.8) !important;
  height: calc(var(--size) * 3.8) !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle, #fff 0 10%, rgba(241,253,255,.96) 11% 20%, transparent 42%),
    linear-gradient(90deg, transparent 0 42%, rgba(227,250,255,.92) 46%, #fff 50%, rgba(207,243,255,.88) 54%, transparent 58% 100%),
    linear-gradient(180deg, transparent 0 42%, rgba(227,250,255,.92) 46%, #fff 50%, rgba(207,243,255,.88) 54%, transparent 58% 100%) !important;
  box-shadow: 0 0 3px rgba(225,249,255,.64) !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  opacity: 0;
  z-index: 2 !important;
  transform: translate3d(-50%, -50%, 0) scale(.18);
  transform-origin: 50% 50%;
  will-change: opacity, transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  animation: classicPlatinumTwinkleUnified var(--dur) linear var(--delay) infinite !important;
}
.classic-rush-ui .platinum-sparks i::before,
.classic-rush-ui .platinum-sparks i::after {
  content: none !important;
  display: none !important;
}

@keyframes classicPlatinumTwinkleUnified {
  0%, 77%, 100% {
    opacity: 0;
    transform: translate3d(-50%, -50%, 0) scale(.18);
  }
  80% {
    opacity: .16;
    transform: translate3d(-50%, -50%, 0) scale(.42);
  }
  83.5% {
    opacity: .92;
    transform: translate3d(-50%, -50%, 0) scale(1);
  }
  86.5% {
    opacity: .46;
    transform: translate3d(-50%, -50%, 0) scale(.72);
  }
  90% {
    opacity: 0;
    transform: translate3d(-50%, -50%, 0) scale(.24);
  }
}

@media (prefers-reduced-motion: reduce) {
  .classic-rush-ui .platinum-sparks i {
    animation: none !important;
    opacity: 0 !important;
  }
}


/* =========================================================
   V88 — строгий Platinum-статус, верхний слой игр и целая аватарка
   ========================================================= */

/* Любое поле частиц по умолчанию выключено. Оно включается только внутри
   реального status-vip-platinum. Позднее общее правило .platinum-sparks больше
   не может случайно показать блёстки у обычного пользователя. */
.classic-rush-ui .platinum-sparks {
  display: none !important;
}
.classic-rush-ui .status-vip-platinum > .platinum-sparks,
.classic-rush-ui .profile-card.status-vip-platinum > strong > .platinum-sparks--frame {
  display: block !important;
}

/* Paint containment обрезал часть звёздочек у игровых мест. Layout containment
   сохраняет изоляцию раскладки, но больше не режет эффект по внутренней границе
   слоя. Внешняя граница самого игрового окна по-прежнему остаётся закрытой. */
.classic-rush-ui.app--poker-table .poker-layer,
.classic-rush-ui.app--durak-table .durak-layer {
  contain: layout !important;
  overflow: visible !important;
}

/* В играх венок остаётся под аватаркой, а блёстки гарантированно рисуются над
   венком, аватаркой и декоративными рамками — так же чисто, как в общем чате. */
.classic-rush-ui.app--table :is(
  .poker-seat,
  .durak-seat,
  .pool-player-badge,
  .chess-player-avatar-wrap
) > .rank-wreath {
  z-index: 1 !important;
}
.classic-rush-ui.app--table :is(
  .poker-seat,
  .durak-seat,
  .pool-player-badge,
  .chess-player-avatar-wrap
) > .platinum-sparks--wreath {
  z-index: 1000 !important;
  transform: translateZ(2px) !important;
  isolation: isolate !important;
}
.classic-rush-ui.app--table :is(
  .poker-seat,
  .durak-seat,
  .pool-player-badge,
  .chess-player-copy
) .platinum-sparks--frame {
  z-index: 1100 !important;
  transform: translateZ(3px) !important;
}

/* PNG стандартной аватарки раньше заполнял маленькую игровую ячейку до самого
   нижнего края, поэтому корпус визуально срезался. Небольшой внутренний отступ
   сохраняет силуэт целиком во всех играх; загруженные фотографии не меняются. */
.classic-rush-ui.app--table :is(
  .poker-avatar,
  .durak-avatar,
  .pool-player-portrait,
  .chess-player-avatar
):not(.has-image) {
  border-color: transparent !important;
  background-color: transparent !important;
  background-image: url("../assets/default-avatar.png") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: 86% auto !important;
  box-shadow: none !important;
}
.classic-rush-ui.app--table :is(
  .poker-avatar,
  .durak-avatar,
  .pool-player-portrait
):not(.has-image)::before,
.classic-rush-ui.app--table :is(
  .poker-avatar,
  .durak-avatar,
  .pool-player-portrait
):not(.has-image)::after {
  content: none !important;
  display: none !important;
}

/* =========================================================
   V89 — цвет списка игроков в играх как в общем чате
   ========================================================= */
/* Чёрное поле справа со списком игроков и наблюдателей заменено тем же
   тёмно-синим фоном, который используется в списке игроков общего чата.
   Правило общее для покера, Sit & Go, всех режимов дурака, бильярда и шахмат. */
.classic-rush-ui.app--table .room-list,
.classic-rush-ui .app--table .room-list {
  background: rgba(3,39,57,.82) !important;
  box-shadow: inset 0 0 12px rgba(0,0,0,.22) !important;
}


/* =========================================================
   V90 — видимая светлая молния модератора в общем чате
   ========================================================= */
/* Поздний общий стиль рамок делал chat-user-name__text скрывающим всё,
   поэтому молния, стоящая прямо перед ником, обрезалась. Возвращаем ей
   отдельный видимый слой, не меняя центрирование псевдонима и кнопок справа. */
.classic-rush-ui .chat-user-row .chat-user-name-cell,
.classic-rush-ui .chat-user-row .chat-user-name,
.classic-rush-ui .chat-user-row .chat-user-name__text {
  overflow: visible !important;
}
.classic-rush-ui .chat-user-row .chat-user-name__text {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 auto !important;
}

/* Не используем системный цветной emoji: в Windows он становился маленьким
   оранжевым значком и не принимал нужный цвет. Форма рисуется чистым CSS,
   поэтому одинаково выглядит в общем чате, списках игр и игровых местах. */
.classic-rush-ui .nick-bolt {
  box-sizing: border-box !important;
  display: inline-block !important;
  width: 9px !important;
  height: 16px !important;
  min-width: 9px !important;
  min-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-shadow: none !important;
  background: linear-gradient(145deg,#fff7ff 0 13%,#ffb4f3 22%,#ff61df 48%,#ff20c9 72%,#c9009f 100%) !important;
  clip-path: polygon(43% 0,100% 0,65% 39%,100% 39%,18% 100%,39% 58%,0 58%) !important;
  filter:
    brightness(1.08)
    drop-shadow(0 0 2px rgba(255,238,255,.95))
    drop-shadow(0 0 4px rgba(255,45,207,.92)) !important;
  box-shadow: none !important;
  opacity: 1 !important;
  pointer-events: none !important;
  animation: v90ModeratorBoltGlow 1.8s ease-in-out infinite !important;
}

/* В правом списке общего чата молния стоит вплотную перед текстом и всегда
   остаётся внутри свободной зоны строки, поэтому больше не скрывается. */
.classic-rush-ui .chat-user-row .chat-user-name__text > .nick-bolt {
  position: absolute !important;
  left: auto !important;
  right: calc(100% + 4px) !important;
  top: 50% !important;
  z-index: 80 !important;
  transform: translateY(-50%) rotate(-4deg) !important;
}

/* Та же аккуратная форма в игровом списке и возле игровых ников. */
.classic-rush-ui .room-user-name .nick-bolt,
.classic-rush-ui .seat-nick .nick-bolt,
.classic-rush-ui .pool-player-badge > b .nick-bolt,
.classic-rush-ui .table-chat-message .status-nick .nick-bolt,
.classic-rush-ui .lobby-user-name .nick-bolt {
  z-index: 80 !important;
  transform: translateY(-50%) rotate(-4deg) !important;
}

/* Нижняя плашка профиля использовала отдельный emoji-псевдоэлемент.
   Рисуем там такую же светлую молнию, чтобы знак был единым по всему сайту. */
.classic-rush-ui .profile-card.is-moderator strong::before {
  content: "" !important;
  box-sizing: border-box !important;
  width: 9px !important;
  height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: transparent !important;
  background: linear-gradient(145deg,#fff7ff 0 13%,#ffb4f3 22%,#ff61df 48%,#ff20c9 72%,#c9009f 100%) !important;
  clip-path: polygon(43% 0,100% 0,65% 39%,100% 39%,18% 100%,39% 58%,0 58%) !important;
  filter:
    brightness(1.08)
    drop-shadow(0 0 2px rgba(255,238,255,.95))
    drop-shadow(0 0 4px rgba(255,45,207,.92)) !important;
  text-shadow: none !important;
  transform: translateY(-50%) rotate(-4deg) !important;
  animation: v90ModeratorBoltGlow 1.8s ease-in-out infinite !important;
}

@keyframes v90ModeratorBoltGlow {
  0%,100% {
    opacity: .92;
    filter:
      brightness(1.02)
      drop-shadow(0 0 2px rgba(255,238,255,.9))
      drop-shadow(0 0 3px rgba(255,45,207,.78));
  }
  50% {
    opacity: 1;
    filter:
      brightness(1.32)
      drop-shadow(0 0 3px rgba(255,255,255,1))
      drop-shadow(0 0 7px rgba(255,45,207,1));
  }
}

@media (prefers-reduced-motion: reduce) {
  .classic-rush-ui .nick-bolt,
  .classic-rush-ui .profile-card.is-moderator strong::before {
    animation: none !important;
  }
}


/* =========================================================
   V92 — молния и плашка в правом списке общего чата
   ========================================================= */
/* Правый список общего чата больше не использует промежуточную обёртку.
   Геометрия совпадает с игровыми списками: плашка остаётся целой, молния
   находится внутри неё слева от текста и не обрезается ячейкой строки. */
.classic-rush-ui .chat-user-row .chat-user-name-cell {
  overflow: visible !important;
}

.classic-rush-ui .chat-user-row .chat-user-name {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  min-height: 22px !important;
  overflow: visible !important;
}

.classic-rush-ui .chat-user-row .chat-user-name > .status-nick__label {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: clip !important;
  text-align: center !important;
}

/* Обычный, Club и VIP получают ту же аккуратную светло-синюю плашку,
   которая уже используется справа в играх. Gold и Platinum сохраняют
   собственные статусные рамки из правил выше. */
.classic-rush-ui .chat-user-row .chat-user-name.status-normal,
.classic-rush-ui .chat-user-row .chat-user-name.status-club,
.classic-rush-ui .chat-user-row .chat-user-name.status-vip {
  border: 2px solid rgba(216,245,255,.92) !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg,#6f91a0 0%,#365b6e 48%,#1d4052 52%,#54798a 100%) !important;
  box-shadow: 0 0 6px rgba(195,239,255,.42), inset 0 1px 0 rgba(255,255,255,.44) !important;
}

.classic-rush-ui .chat-user-row .chat-user-name.is-moderator {
  padding-left: 20px !important;
  padding-right: 8px !important;
}

.classic-rush-ui .chat-user-row .chat-user-name > .nick-bolt {
  position: absolute !important;
  left: 6px !important;
  right: auto !important;
  top: 50% !important;
  z-index: 120 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: translateY(-50%) rotate(-4deg) !important;
  pointer-events: none !important;
}

/* Старый вариант с обёрткой может остаться только в кэше браузера.
   Даже в таком случае молния будет видна до полного Ctrl+F5. */
.classic-rush-ui .chat-user-row .chat-user-name__text > .nick-bolt {
  left: -14px !important;
  right: auto !important;
  z-index: 120 !important;
}


/* =========================================================
   V93 — полный ник и три аккуратные кнопки в общем чате
   ========================================================= */
/* Убираем старую симметричную пустую колонку слева: она забирала почти
   треть ширины строки, поэтому длинный ник снова превращался в многоточие. */
.classic-rush-ui .chat-user-row,
.classic-rush-ui .chat-user-row.status-vip-gold,
.classic-rush-ui .chat-user-row.status-vip-platinum,
.classic-rush-ui .chat-user-row.is-current {
  grid-template-columns: minmax(0,1fr) 52px !important;
  column-gap: 3px !important;
  padding-left: 3px !important;
  padding-right: 2px !important;
}

.classic-rush-ui .chat-user-row:has(.chat-user-actions .room-skull) {
  grid-template-columns: minmax(0,1fr) 68px !important;
}

.classic-rush-ui .chat-user-row .chat-user-name-cell {
  grid-column: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  justify-content: stretch !important;
}

.classic-rush-ui .chat-user-row .chat-user-name {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}

.classic-rush-ui .chat-user-row .chat-user-name.is-moderator {
  padding-left: 20px !important;
  padding-right: 6px !important;
}

.classic-rush-ui .chat-user-row .chat-user-name > .status-nick__label {
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  text-align: center !important;
}

/* Даже максимальная разрешённая длина ника помещается целиком. */
.classic-rush-ui .chat-user-row .chat-user-name.nick-fit-medium {
  font-size: 10.8px !important;
  letter-spacing: -.10px !important;
}
.classic-rush-ui .chat-user-row .chat-user-name.nick-fit-long {
  font-size: 9.35px !important;
  letter-spacing: -.24px !important;
}
.classic-rush-ui .chat-user-row .chat-user-name.nick-fit-xlong {
  font-size: 8.15px !important;
  letter-spacing: -.40px !important;
}

/* Справа всегда отдельная ровная полоса под +, конверт и вопросик. */
.classic-rush-ui .chat-user-row .chat-user-actions {
  grid-column: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 18px !important;
  gap: 2px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.classic-rush-ui .chat-user-row:has(.chat-user-actions .room-skull) .chat-user-actions {
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
}

.classic-rush-ui .chat-user-row .chat-user-actions .room-action,
.classic-rush-ui .chat-user-row .chat-user-actions .room-skull {
  flex: 0 0 15px !important;
  width: 15px !important;
  min-width: 15px !important;
  height: 15px !important;
  margin: 0 !important;
  line-height: 13px !important;
}

/* В собственной строке три позиции тоже остаются видимыми и ровными.
   Недоступные действия не нажимаются, но не ломают геометрию списка. */
.classic-rush-ui .chat-user-row .chat-user-actions .room-action:disabled {
  opacity: .72 !important;
  cursor: default !important;
  filter: saturate(.78) !important;
}
.classic-rush-ui .chat-user-row .chat-user-actions .room-self-action {
  color: #dff9ff !important;
}

/* =========================================================
   V94 — без рамки у Обычного, Клубного и VIP в общем чате
   ========================================================= */
/* В правом списке общего чата базовые статусы показываются обычным текстом.
   Рамки остаются только у VIP Gold и VIP Platinum. */
.classic-rush-ui .chat-user-row .chat-user-name.status-normal,
.classic-rush-ui .chat-user-row .chat-user-name.status-club,
.classic-rush-ui .chat-user-row .chat-user-name.status-vip {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* =========================================================
   V95 — единая Gold/Platinum-рамка вокруг ника и кнопок
   ========================================================= */
/* В общем чате и в правой панели всех игр Gold/Platinum теперь используют
   одну цельную рамку строки. Три социальные кнопки находятся внутри неё.
   Обычный, Клубный и VIP этим блоком не затрагиваются. */
.classic-rush-ui :is(
  .chat-user-row.status-vip-gold,
  .chat-user-row.status-vip-platinum,
  .room-list li.room-user-row.status-vip-gold,
  .room-list li.room-user-row.status-vip-platinum
) {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 52px !important;
  column-gap: 2px !important;
  align-items: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 2px !important;
  border: 2px solid transparent !important;
  border-radius: 8px !important;
  overflow: visible !important;
  isolation: isolate !important;
}

.classic-rush-ui :is(
  .chat-user-row.status-vip-gold,
  .room-list li.room-user-row.status-vip-gold
) {
  background:
    linear-gradient(180deg,#173a4a 0%,#0b2634 48%,#061a25 52%,#102f3f 100%) padding-box,
    linear-gradient(105deg,#8a5a00,#fff2a0 18%,#d99700 36%,#fff5b7 54%,#8b5900 75%,#ffd34a) border-box !important;
  background-size: 100% 100%, 260% 100% !important;
  box-shadow:
    0 2px 4px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,246,170,.42),
    inset 0 -1px 0 rgba(77,39,0,.62) !important;
  animation: classicRoomGoldFrame 3s linear infinite !important;
}

.classic-rush-ui :is(
  .chat-user-row.status-vip-platinum,
  .room-list li.room-user-row.status-vip-platinum
) {
  background:
    linear-gradient(180deg,#173a4a 0%,#0b2634 48%,#061a25 52%,#102f3f 100%) padding-box,
    linear-gradient(104deg,
      #54636a 0%,#edfaff 13%,#788b93 24%,#ffffff 39%,
      #5c717b 53%,#dff8ff 69%,#6b7d85 82%,#ffffff 100%) border-box !important;
  background-size: 100% 100%, 320% 100% !important;
  box-shadow:
    0 2px 4px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.32),
    inset 0 -1px 0 rgba(4,24,35,.55) !important;
  animation: classicRoomPlatinumFrame 2.45s linear infinite !important;
}

/* В игровой панели порядковый номер остаётся снаружи рамки, а сама рамка
   занимает всё оставшееся место — ровно как строка в общем чате. */
.classic-rush-ui .room-list li.room-user-row:is(.status-vip-gold,.status-vip-platinum) {
  width: calc(100% - 19px) !important;
  margin-left: 19px !important;
  margin-right: 0 !important;
}
.classic-rush-ui .room-list li.room-user-row:is(.status-vip-gold,.status-vip-platinum)::before {
  position: absolute !important;
  left: -21px !important;
  top: 0 !important;
  z-index: 5 !important;
  display: block !important;
  width: 18px !important;
  height: 24px !important;
  margin: 0 !important;
  line-height: 24px !important;
  text-align: right !important;
}

/* Если у администратора добавляется черепок, рамка остаётся цельной и просто
   выделяет более широкую внутреннюю область под четыре кнопки. */
.classic-rush-ui :is(
  .chat-user-row.status-vip-gold,
  .chat-user-row.status-vip-platinum,
  .room-list li.room-user-row.status-vip-gold,
  .room-list li.room-user-row.status-vip-platinum
):has(.room-user-actions .room-skull) {
  grid-template-columns: minmax(0, 1fr) 68px !important;
}

/* Старая короткая рамка на самом нике снимается: теперь металл/золото рисует
   родительская строка, внутри которой уже находятся и ник, и кнопки. */
.classic-rush-ui .chat-user-row:is(.status-vip-gold,.status-vip-platinum)
  .chat-user-name:is(.status-vip-gold,.status-vip-platinum),
.classic-rush-ui .room-list li.room-user-row:is(.status-vip-gold,.status-vip-platinum)
  > .room-user-name:is(.status-vip-gold,.status-vip-platinum) {
  position: relative !important;
  z-index: 3 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  height: 20px !important;
  min-height: 20px !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  animation: none !important;
  overflow: hidden !important;
}

.classic-rush-ui .chat-user-row:is(.status-vip-gold,.status-vip-platinum)
  .chat-user-name:is(.status-vip-gold,.status-vip-platinum)::before,
.classic-rush-ui .chat-user-row:is(.status-vip-gold,.status-vip-platinum)
  .chat-user-name:is(.status-vip-gold,.status-vip-platinum)::after,
.classic-rush-ui .room-list li.room-user-row:is(.status-vip-gold,.status-vip-platinum)
  > .room-user-name:is(.status-vip-gold,.status-vip-platinum)::before,
.classic-rush-ui .room-list li.room-user-row:is(.status-vip-gold,.status-vip-platinum)
  > .room-user-name:is(.status-vip-gold,.status-vip-platinum)::after {
  content: none !important;
  display: none !important;
}

.classic-rush-ui .chat-user-row:is(.status-vip-gold,.status-vip-platinum) .chat-user-name-cell,
.classic-rush-ui .room-list li.room-user-row:is(.status-vip-gold,.status-vip-platinum) > .room-user-name {
  grid-column: 1 !important;
  min-width: 0 !important;
}

.classic-rush-ui :is(
  .chat-user-row.status-vip-gold,
  .chat-user-row.status-vip-platinum,
  .room-list li.room-user-row.status-vip-gold,
  .room-list li.room-user-row.status-vip-platinum
) > :is(.chat-user-actions,.room-user-actions) {
  position: relative !important;
  grid-column: 2 !important;
  z-index: 6 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  box-sizing: border-box !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 2px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.classic-rush-ui :is(
  .chat-user-row.status-vip-gold,
  .chat-user-row.status-vip-platinum,
  .room-list li.room-user-row.status-vip-gold,
  .room-list li.room-user-row.status-vip-platinum
):has(.room-user-actions .room-skull) > :is(.chat-user-actions,.room-user-actions) {
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
}

/* Platinum-частицы теперь следуют по всей новой рамке, включая область кнопок. */
.classic-rush-ui :is(
  .chat-user-row.status-vip-platinum,
  .room-list li.room-user-row.status-vip-platinum
) > .platinum-sparks--status-row {
  left: -2px !important;
  right: -2px !important;
  top: -2px !important;
  bottom: -2px !important;
  z-index: 20 !important;
  border-radius: 9px !important;
  pointer-events: none !important;
}

/* =========================================================
   V96 — кнопки Gold/Platinum по центру рамки общего чата
   ========================================================= */
/* Игровые строки в V95 уже расположены правильно. Исправляем только
   правый список общего чата: фиксируем блок трёх действий строго по
   вертикальному центру цельной Gold/Platinum-рамки. */
.classic-rush-ui .chat-user-row:is(.status-vip-gold,.status-vip-platinum)
  > .chat-user-actions {
  position: absolute !important;
  right: 2px !important;
  top: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  z-index: 30 !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 18px !important;
  margin: auto 0 !important;
  padding: 0 !important;
  transform: none !important;
  align-self: auto !important;
  justify-self: auto !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.classic-rush-ui .chat-user-row:is(.status-vip-gold,.status-vip-platinum)
  > .chat-user-actions > :is(.room-action,.room-skull) {
  position: relative !important;
  top: 0 !important;
  bottom: auto !important;
  transform: none !important;
  align-self: center !important;
}

/* При наличии модераторского черепка сохраняется такое же центрирование,
   просто используется предусмотренная ранее расширенная область действий. */
.classic-rush-ui .chat-user-row:is(.status-vip-gold,.status-vip-platinum)
  :is(.chat-user-actions):has(.room-skull) {
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
}

/* =========================================================
   V97 — Platinum-блёстки по всему периметру длинной рамки
   ========================================================= */
/* У длинной строки Gold/Platinum поле частиц раньше рассчитывалось через
   left+right при width:auto. В grid-строках браузер мог оставить ему почти
   нулевую собственную ширину, поэтому все процентные точки собирались у
   левого края. Явная ширина всей строки сохраняет тот же рисунок и тайминг,
   но распределяет уже существующие звёздочки по полному периметру рамки. */
.classic-rush-ui :is(
  .chat-user-row.status-vip-platinum,
  .room-list li.room-user-row.status-vip-platinum
) > .platinum-sparks--status-row {
  position: absolute !important;
  left: -2px !important;
  top: -2px !important;
  right: auto !important;
  bottom: auto !important;
  box-sizing: border-box !important;
  width: calc(100% + 4px) !important;
  min-width: calc(100% + 4px) !important;
  max-width: none !important;
  height: calc(100% + 4px) !important;
  min-height: calc(100% + 4px) !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  contain: none !important;
  transform: translateZ(0) !important;
  transform-origin: 0 0 !important;
}

/* ===== v99: международная касса + статусы за фишки ===== */
.classic-rush-ui .left-tabs button[data-action="openCashier"] {
  filter: saturate(1.08) brightness(1.04);
}
.classic-rush-ui .left-tabs button[data-action="openCashier"]::before {
  content: "$";
  position: absolute;
  right: 7px;
  bottom: 9px;
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border: 2px solid #9c5d00;
  border-radius: 50%;
  color: #7a3100;
  background: radial-gradient(circle at 35% 28%, #fffca2 0 14%, #ffd52e 15% 62%, #c87600 63% 100%);
  box-shadow: 0 2px 3px rgba(0,0,0,.4);
  font: 950 12px/1 Arial, sans-serif;
  writing-mode: horizontal-tb;
  transform: rotate(180deg);
  text-shadow: 0 1px rgba(255,255,255,.65);
}
.classic-rush-ui .left-tabs button[data-action="openCashier"]:hover {
  filter: saturate(1.2) brightness(1.17);
  transform: rotate(180deg) translateX(-2px);
}

.modal__box--cashier {
  position: relative;
  width: 1080px;
  height: 710px;
  min-height: 0;
  padding: 24px 30px 18px;
  overflow: hidden;
  border: 3px solid #1bc9ef;
  border-radius: 25px;
  background:
    radial-gradient(circle at 50% -10%, rgba(82,222,255,.28), transparent 38%),
    radial-gradient(circle at 100% 100%, rgba(255,196,36,.10), transparent 35%),
    linear-gradient(180deg,#0b678c 0%,#073f5c 38%,#031d30 100%);
  box-shadow: 0 20px 45px rgba(0,0,0,.7), inset 0 0 0 2px rgba(255,255,255,.08), inset 0 0 55px rgba(0,0,0,.38);
  text-align: left;
}
.modal__box--cashier::before {
  left: 20px;
  right: 20px;
  top: 66px;
  bottom: 14px;
  border-radius: 20px;
  border-color: rgba(77,218,255,.42);
}
.modal__box--cashier h2 {
  position: relative;
  z-index: 3;
  margin: -3px 0 10px;
  color: #fff;
  text-align: center;
  letter-spacing: 1px;
  text-shadow: 0 3px 2px #00121f, 0 0 12px rgba(100,223,255,.45);
}

.cashier-head {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 1fr 390px;
  gap: 18px;
  align-items: stretch;
  margin: 0 8px 10px;
}
.cashier-account,
.cashier-country {
  min-height: 66px;
  padding: 9px 15px;
  border: 1px solid rgba(109,225,255,.48);
  border-radius: 15px;
  background: rgba(0,25,42,.58);
  box-shadow: inset 0 2px 10px rgba(0,0,0,.35);
}
.cashier-account {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 12px;
}
.cashier-account > span,
.cashier-country > span {
  color: #bcecff;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .45px;
}
.cashier-account > strong {
  justify-self: end;
  color: #fff;
  font-size: 17px;
  text-shadow: 0 2px 2px #000;
}
.cashier-account > strong em {
  color: #70ff3a;
  font-style: normal;
  font-size: 24px;
}
.cashier-account > small {
  grid-column: 1 / -1;
  color: #fff26e;
  font-size: 12px;
  font-weight: 900;
  text-shadow: 0 1px 2px #000;
}
.cashier-account > small.status-club { color:#65dcff; }
.cashier-account > small.status-vip { color:#df9aff; }
.cashier-account > small.status-vip-gold { color:#ffe14c; }
.cashier-account > small.status-vip-platinum { color:#f4fcff; text-shadow:0 0 7px #c9f5ff,0 2px 2px #000; }
.cashier-country {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
}
.cashier-country select {
  height: 31px;
  padding: 0 34px 0 10px;
  border: 2px solid #dca127;
  border-radius: 8px;
  color: #112936;
  background: linear-gradient(#fff,#dff7ff);
  font-size: 13px;
  font-weight: 900;
  outline: none;
}
.cashier-country small {
  color: #9fd8e9;
  font-size: 10px;
  font-weight: 800;
}

.cashier-tabs {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  width: 850px;
  margin: 0 auto 8px;
  padding: 4px;
  border: 1px solid rgba(80,219,255,.43);
  border-radius: 16px;
  background: rgba(0,19,32,.64);
  box-shadow: inset 0 2px 8px rgba(0,0,0,.44);
}
.cashier-tabs button {
  height: 36px;
  border-radius: 12px;
  color: #b9e8f7;
  background: transparent;
  font-size: 14px;
  font-weight: 950;
  text-shadow: 0 2px 2px #000;
}
.cashier-tabs button:hover { color:#fff; background:rgba(39,154,193,.28); }
.cashier-tabs button.is-active {
  color: #3a2600;
  background: linear-gradient(#fff67d,#ffc724 56%,#d47a00);
  box-shadow: inset 0 -4px rgba(103,56,0,.24),0 4px 8px rgba(0,0,0,.35);
  text-shadow: 0 1px rgba(255,255,255,.7);
}

.cashier-content {
  position: relative;
  z-index: 3;
  height: 490px;
  margin: 0 8px;
  overflow: hidden;
  border: 1px solid rgba(72,207,244,.35);
  border-radius: 17px;
  background: rgba(0,19,31,.47);
  box-shadow: inset 0 0 22px rgba(0,0,0,.33);
}
.cashier-panel {
  display: none;
  height: 100%;
  padding: 12px 14px 18px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #24bde8 rgba(0,20,33,.6);
}
.cashier-panel.is-active { display: block; }
.cashier-panel::-webkit-scrollbar { width: 9px; }
.cashier-panel::-webkit-scrollbar-track { background:rgba(0,20,33,.65); border-radius:9px; }
.cashier-panel::-webkit-scrollbar-thumb { background:linear-gradient(#52dbfa,#1683aa); border-radius:9px; }
.cashier-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 42px;
  margin-bottom: 10px;
  padding: 6px 10px;
  border-bottom: 1px solid rgba(76,207,241,.25);
}
.cashier-section-title div { display:grid; gap:2px; }
.cashier-section-title b { color:#fff; font-size:17px; text-shadow:0 2px 2px #000; }
.cashier-section-title span { color:#a6ddeb; font-size:11px; font-weight:800; }
.cashier-section-title > i {
  padding: 5px 9px;
  border: 1px solid #e2a31d;
  border-radius: 10px;
  color: #ffe96b;
  background: rgba(113,67,0,.45);
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
  letter-spacing: .5px;
}
.cashier-section-title > i.is-live {
  color:#94ff72;
  border-color:#58c93f;
  background:rgba(24,103,21,.4);
}

.cashier-chip-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 12px;
}
.cashier-chip-card {
  position: relative;
  min-height: 174px;
  padding: 14px 10px 11px;
  overflow: hidden;
  border: 2px solid #238cb0;
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 0,rgba(78,218,255,.25),transparent 37%),
    linear-gradient(180deg,rgba(14,100,132,.96),rgba(3,45,67,.98));
  box-shadow: 0 7px 11px rgba(0,0,0,.36), inset 0 0 0 2px rgba(255,255,255,.05), inset 0 -14px 22px rgba(0,0,0,.22);
  text-align: center;
}
.cashier-chip-card.is-featured { border-color:#e6a825; }
.cashier-badge {
  position:absolute;
  top:8px;
  right:-27px;
  width:108px;
  padding:3px 0;
  color:#4b2a00;
  background:linear-gradient(#fff06a,#f1a20c);
  box-shadow:0 2px 5px rgba(0,0,0,.35);
  font-size:8px;
  font-weight:950;
  transform:rotate(38deg);
}
.cashier-chip-coin {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin:0 auto 4px;
  border:4px solid #efaa1b;
  border-radius:50%;
  color:#c92526;
  background:radial-gradient(circle at 35% 25%,#fffca1,#ffd32b 43%,#bd6a00 100%);
  box-shadow:0 4px 6px rgba(0,0,0,.4),inset 0 1px rgba(255,255,255,.7);
  font-size:16px;
  font-weight:950;
}
.cashier-chip-card > b { display:block; color:#fff45e; font-size:21px; text-shadow:0 2px 2px #000; }
.cashier-chip-card > span { display:block; color:#c5edf8; font-size:11px; font-weight:850; }
.cashier-price { display:flex; align-items:baseline; justify-content:center; gap:6px; min-height:31px; margin:7px 0 6px; }
.cashier-price strong { color:#fff; font-size:18px; text-shadow:0 2px 2px #000; }
.cashier-price small { color:#8dd9ee; font-size:9px; font-weight:800; }
.cashier-chip-card button,
.cashier-status-period button {
  border-radius: 11px;
  color:#382300;
  background:linear-gradient(#fff477,#ffc525 56%,#d67b00);
  box-shadow:inset 0 -3px rgba(98,52,0,.28),0 3px 5px rgba(0,0,0,.35);
  font-weight:950;
  text-shadow:0 1px rgba(255,255,255,.65);
}
.cashier-chip-card button { width:126px; height:30px; font-size:12px; }
.cashier-chip-card button:hover,
.cashier-status-period button:hover:not(:disabled) { filter:brightness(1.13); transform:translateY(-1px); }

.cashier-status-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:13px;
}
.cashier-status-card {
  position:relative;
  overflow:hidden;
  border:2px solid #2da5c5;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(12,93,121,.97),rgba(3,40,61,.98));
  box-shadow:0 7px 12px rgba(0,0,0,.38),inset 0 0 0 2px rgba(255,255,255,.05);
}
.cashier-status--club { border-color:#46ccec; }
.cashier-status--vip { border-color:#bc67ec; }
.cashier-status--gold { border-color:#e5a61c; }
.cashier-status--platinum { border-color:#d9f4ff; box-shadow:0 7px 12px rgba(0,0,0,.38),0 0 12px rgba(203,244,255,.22),inset 0 0 0 2px rgba(255,255,255,.08); }
.cashier-status-card__head {
  display:flex;
  align-items:center;
  gap:11px;
  padding:10px 13px 8px;
  border-bottom:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.035);
}
.cashier-status-card__head > i {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:2px solid currentColor;
  border-radius:50%;
  color:#7be5ff;
  background:rgba(0,17,29,.4);
  font:normal 950 24px/1 Georgia,serif;
  text-shadow:0 2px 2px #000;
}
.cashier-status--vip .cashier-status-card__head > i { color:#da87ff; }
.cashier-status--gold .cashier-status-card__head > i { color:#ffe04c; }
.cashier-status--platinum .cashier-status-card__head > i { color:#f4fcff; text-shadow:0 0 8px #c9f5ff,0 2px 2px #000; }
.cashier-status-card__head h3 { margin:0; color:#fff; font-size:18px; text-shadow:0 2px 2px #000; }
.cashier-status-card__head span { color:#fff267; font-size:11px; font-weight:900; }
.cashier-status-periods { padding:7px 10px 9px; }
.cashier-status-period {
  display:grid;
  grid-template-columns:78px 1fr 92px;
  gap:7px;
  align-items:center;
  min-height:34px;
  padding:4px 3px;
  border-bottom:1px dashed rgba(143,219,239,.17);
}
.cashier-status-period:last-child { border-bottom:0; }
.cashier-status-period > span { color:#d6f2fa; font-size:11px; font-weight:900; }
.cashier-status-period > strong { justify-self:end; color:#fff65d; font-size:12px; text-shadow:0 1px 2px #000; }
.cashier-price--compact { justify-content:flex-end; min-height:0; margin:0; }
.cashier-price--compact strong { font-size:12px; }
.cashier-price--compact small { font-size:8px; }
.cashier-status-period button { width:92px; height:26px; font-size:9px; }
.cashier-status-period button:disabled {
  color:#9fb4bd;
  background:linear-gradient(#52707e,#294655);
  box-shadow:inset 0 2px 5px rgba(0,0,0,.35);
  cursor:default;
  opacity:.75;
}
.cashier-status-period.is-unavailable { opacity:.65; }

.cashier-note {
  position:relative;
  z-index:3;
  margin:6px 16px 0;
  color:#93cddd;
  font-size:9px;
  font-weight:800;
  text-align:center;
}
.cashier-message {
  position:relative;
  z-index:3;
  min-height:17px;
  margin:3px 12px 0 !important;
  font-size:11px !important;
  text-align:center;
}

.cashier-confirm {
  position:absolute;
  inset:0;
  z-index:20;
  display:none;
  place-items:center;
  background:rgba(0,10,18,.78);
  backdrop-filter:blur(2px);
}
.cashier-confirm.is-active { display:grid; }
.cashier-confirm__box {
  width:470px;
  padding:24px 28px 22px;
  border:3px solid #e5ad28;
  border-radius:22px;
  background:radial-gradient(circle at 50% 0,rgba(255,220,86,.16),transparent 35%),linear-gradient(#0a607f,#032b42);
  box-shadow:0 18px 35px rgba(0,0,0,.65),inset 0 0 0 2px rgba(255,255,255,.08);
  text-align:center;
}
.cashier-confirm__icon { display:block; color:#ffe052; font:950 42px/1 Georgia,serif; text-shadow:0 3px 3px #000,0 0 10px rgba(255,217,51,.4); }
.cashier-confirm__box h3 { margin:6px 0 10px; color:#fff; font-size:20px; text-shadow:0 2px 2px #000; }
.cashier-confirm__box p { min-height:48px; margin:0 0 16px; color:#d9f4fb; font-size:15px; font-weight:850; line-height:1.4; }
.cashier-confirm__actions { display:flex; justify-content:center; gap:16px; }
.cashier-confirm__actions button { width:165px; height:36px; border-radius:15px; font-size:12px; font-weight:950; }
.cashier-confirm__cancel { color:#e3f4f8; background:linear-gradient(#64808c,#294856); box-shadow:inset 0 -3px rgba(0,0,0,.25); }
.cashier-confirm__ok { color:#382300; background:linear-gradient(#fff477,#ffc525 56%,#d67b00); box-shadow:inset 0 -3px rgba(98,52,0,.28),0 3px 5px rgba(0,0,0,.35); }

@media (max-height: 780px) {
  .modal__box--cashier { transform:scale(.88); }
}
@media (max-width: 1150px) {
  .modal__box--cashier { transform:scale(.86); }
}


/* =========================================================
   V100 — запоминание входа и полная статистика профиля
   ========================================================= */
.modal__box--form .remember-login-option {
  grid-template-columns: 24px 1fr !important;
  width: 220px;
  margin: 15px auto 5px !important;
  text-align: left !important;
  font-style: normal !important;
  cursor: pointer;
}
.modal__box--form .remember-login-option input {
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  accent-color: #19cbed;
  cursor: pointer;
}
.modal__box--form .remember-login-option b {
  color: #dff8ff;
  font-size: 14px;
  text-shadow: 0 2px 1px #000;
}
.cabinet-remember-field {
  display: grid;
  grid-template-columns: 175px 1fr;
  gap: 12px;
  align-items: center;
  color: #d7edf7;
  font-weight: 950;
  font-style: italic;
  text-shadow: 0 2px 1px #000;
}
.cabinet-remember-field > span { text-align: right; }
.cabinet-remember-field label {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 8px !important;
  align-items: center;
  min-height: 32px;
  padding: 0 10px;
  border: 2px solid #244252;
  background: #f7fbff;
  color: #0b2431;
  font-style: normal;
  text-shadow: none;
  cursor: pointer;
}
.cabinet-remember-field input {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  accent-color: #0bbfe6;
  cursor: pointer;
}
.cabinet-remember-field b { font-size: 13px; }
.modal__box--cabinet { min-height: 610px !important; }

/* В публичном профиле семь игр, поэтому таблица получает собственную прокрутку:
   строка «Шахматы» всегда доступна и больше не обрезается нижней границей окна. */
.player-profile-content { overflow-y: auto !important; overflow-x: hidden !important; padding-right: 5px; scrollbar-width: thin; }
.player-profile-content::-webkit-scrollbar { width: 8px; }
.player-profile-content::-webkit-scrollbar-thumb { border-radius: 8px; background: rgba(65, 205, 239, .65); }
.player-profile-content::-webkit-scrollbar-track { background: rgba(0, 24, 36, .34); }

/* =========================================================
   V102 — Буркозёл: меню, игровой стол и быстрые комбинации
   ========================================================= */
.classic-rush-ui .app--menu .game-grid--eight,
.game-grid--eight {
  left: 70px;
  top: 100px;
  width: 970px;
  height: 470px;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  grid-template-rows: repeat(2, 225px);
  column-gap: 10px;
  row-gap: 10px;
  align-items: start;
}
.game-grid--eight .game-card { height: 225px; min-width: 0; }
.game-grid--eight .game-card:nth-child(1) { grid-column: 1 / span 2; }
.game-grid--eight .game-card:nth-child(2) { grid-column: 3 / span 2; }
.game-grid--eight .game-card:nth-child(3) { grid-column: 5 / span 2; }
.game-grid--eight .game-card:nth-child(4) { grid-column: 7 / span 2; }
.game-grid--eight .game-card:nth-child(5) { grid-column: 1 / span 2; }
.game-grid--eight .game-card:nth-child(6) { grid-column: 3 / span 2; }
.game-grid--eight .game-card:nth-child(7) { grid-column: 5 / span 2; }
.game-grid--eight .game-card:nth-child(8) { grid-column: 7 / span 2; }
.classic-rush-ui .app--menu .game-grid--eight .game-card__plate,
.game-grid--eight .game-card__plate {
  left: 50%;
  top: 0;
  width: 158px;
  height: 137px;
  transform: translateX(-50%);
}
.classic-rush-ui .app--menu .game-grid--eight .game-card__count,
.game-grid--eight .game-card__count { right: 18px; top: -4px; font-size: 16px; }
.classic-rush-ui .app--menu .game-grid--eight .game-card h3,
.game-grid--eight .game-card h3 { top: 113px; font-size: 21px; line-height: 1.02; }
.game-grid--eight .game-card p { display: none; }
.game-grid--eight .icon--texas::before,
.game-grid--eight .icon--durak::before { left: 26px; transform: rotate(-12deg) scale(.82); }
.game-grid--eight .icon--texas::after,
.game-grid--eight .icon--durak::after { left: 77px; transform: rotate(12deg) scale(.82); }

.icon--burkozel {
  position: absolute;
  inset: 7px 8px 9px;
  overflow: hidden;
  border: 3px solid #f1fbff;
  border-radius: 22px;
  background:
    radial-gradient(circle at 50% 37%, rgba(255,255,255,.18), transparent 34%),
    linear-gradient(155deg,#12633a 0%,#087a3a 50%,#034724 100%);
  box-shadow: inset 0 3px rgba(255,255,255,.28), inset 0 -9px 14px rgba(0,25,12,.38), 0 5px 9px rgba(0,0,0,.42);
}
.icon--burkozel::before,
.icon--burkozel::after {
  content: "";
  position: absolute;
  top: 15px;
  width: 49px;
  height: 76px;
  border: 4px solid #fff;
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 42%, rgba(255,221,72,.9) 0 7px, transparent 8px),
    repeating-linear-gradient(45deg, rgba(255,255,255,.18) 0 3px, transparent 3px 8px),
    linear-gradient(145deg,#0bb841,#006b27 60%,#003f17);
  box-shadow: 0 5px 8px rgba(0,0,0,.38), inset 0 0 0 2px rgba(255,238,145,.65);
}
.icon--burkozel::before { left: 23px; transform: rotate(-13deg); }
.icon--burkozel::after { right: 23px; transform: rotate(13deg); }
.icon--burkozel b {
  position: absolute;
  left: 50%;
  bottom: 11px;
  z-index: 4;
  min-width: 60px;
  height: 31px;
  transform: translateX(-50%);
  border: 2px solid #ffe78b;
  border-radius: 16px;
  background: linear-gradient(#ffe675,#d68a0d 58%,#743b00);
  color: #fff;
  font: 1000 17px/27px Arial,sans-serif;
  text-align: center;
  text-shadow: 0 2px 1px #5e2f00;
  box-shadow: 0 3px 6px rgba(0,0,0,.4), inset 0 2px rgba(255,255,255,.3);
}
.game-card[data-kind="burkozel"] .game-card__plate::after {
  content: "2/6/12";
  position: absolute;
  right: -10px;
  bottom: 3px;
  z-index: 8;
  min-width: 49px;
  height: 27px;
  padding: 0 6px;
  border: 2px solid #e9fbff;
  border-radius: 14px;
  background: linear-gradient(#31dff1,#078cb4 58%,#034968);
  color: #fff;
  font: 1000 11px/23px Arial,sans-serif;
  text-align: center;
  text-shadow: 0 1px 1px #00394e;
  box-shadow: 0 3px 7px rgba(0,0,0,.45), inset 0 2px rgba(255,255,255,.28);
}

.app--burkozel-table .table-area--burkozel {
  overflow: hidden;
  background:
    radial-gradient(circle at 45% 40%, rgba(42,193,206,.16), transparent 46%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 2px, transparent 2px 10px),
    linear-gradient(145deg,#125b70 0%,#073e52 56%,#052e40 100%);
}
.app--burkozel-table .green-table,
.app--burkozel-table .table-area > .player-seat,
.app--burkozel-table .table-area > .sit-btn { display: none !important; }
.app--burkozel-table .exit-btn { z-index: 190; right: 14px; bottom: 11px; }
.burkozel-layer {
  position: absolute;
  inset: 0;
  z-index: 40;
  overflow: hidden;
  color: #fff;
  font-family: Arial, sans-serif;
  contain: layout;
  transform: translateZ(0);
}
.burkozel-felt {
  position: absolute;
  left: 105px;
  top: 90px;
  width: 630px;
  height: 405px;
  border: 10px solid #9dc0c8;
  border-radius: 49% / 46%;
  background:
    radial-gradient(ellipse at 47% 40%, rgba(95,255,134,.26), transparent 45%),
    repeating-radial-gradient(circle at 45% 45%, rgba(255,255,255,.034) 0 2px, transparent 2px 7px),
    linear-gradient(150deg,#0da240 0%,#067d30 56%,#034d21 100%);
  box-shadow:
    0 22px 18px rgba(0,0,0,.45),
    0 0 0 4px #6e3d24,
    0 0 0 8px #9f6546,
    inset 0 0 0 3px rgba(255,255,255,.13),
    inset -35px -35px 45px rgba(0,0,0,.25),
    inset 25px 18px 34px rgba(255,255,255,.07);
}
.burkozel-felt::before {
  content: "CROWNMATCH\A БУРКОЗЁЛ";
  white-space: pre;
  position: absolute;
  left: 50%;
  top: 48%;
  transform: translate(-50%,-50%);
  color: rgba(255,245,179,.13);
  font: 1000 28px/1.1 Arial,sans-serif;
  letter-spacing: 2px;
  text-align: center;
  text-shadow: 0 2px rgba(0,0,0,.15);
  pointer-events: none;
}
.burkozel-heading {
  position: absolute;
  left: 50%;
  top: -55px;
  width: 300px;
  transform: translateX(-50%);
  display: grid;
  place-items: center;
  color: #eafaff;
  text-shadow: 0 2px 2px #001f2e;
}
.burkozel-heading b { font-size: 20px; letter-spacing: 2px; }
.burkozel-heading small { margin-top: 3px; color: #8feaff; font-size: 11px; font-weight: 950; letter-spacing: 1px; }
.burkozel-scoreboard {
  position: absolute;
  left: 50%;
  top: -21px;
  min-width: 410px;
  max-width: 690px;
  min-height: 29px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 15px;
  border: 2px solid rgba(133,224,242,.72);
  border-radius: 15px;
  background: linear-gradient(180deg,rgba(13,86,106,.98),rgba(3,47,65,.98));
  box-shadow: 0 4px 9px rgba(0,0,0,.42), inset 0 1px rgba(255,255,255,.16);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
.burkozel-scoreboard span b { color: #ffe46c; font-size: 14px; }
.burkozel-scoreboard em {
  color: #fff17a;
  font-size: 10px;
  font-style: normal;
  animation: burkozel-eggs-pulse .8s ease-in-out infinite alternate;
}
@keyframes burkozel-eggs-pulse { to { filter: brightness(1.35); text-shadow: 0 0 8px rgba(255,232,64,.85); } }

.burkozel-deck {
  position: absolute;
  right: 27px;
  bottom: 34px;
  width: 92px;
  height: 108px;
}
.burkozel-deck > i {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 55px;
  height: 76px;
  border: 4px solid #fff;
  border-radius: 8px;
  transform: rotate(-8deg);
  background:
    radial-gradient(circle at 50% 46%, rgba(255,218,69,.58) 0 8px, transparent 9px),
    repeating-linear-gradient(45deg, rgba(255,255,255,.17) 0 3px, transparent 3px 8px),
    linear-gradient(145deg,#0db844,#006c28 59%,#003e17);
  box-shadow: -5px 5px 0 #e8edf2, -8px 8px 0 #fff, 0 7px 10px rgba(0,0,0,.42);
}
.burkozel-deck > b {
  position: absolute;
  right: -7px;
  bottom: -9px;
  z-index: 4;
  min-width: 25px;
  height: 22px;
  border-radius: 11px;
  background: #062f42;
  color: #e9fbff;
  font: 950 11px/22px Arial,sans-serif;
  text-align: center;
  box-shadow: 0 2px 4px rgba(0,0,0,.4);
}
.burkozel-trump {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 5;
  transform: rotate(9deg);
}
.burkozel-trump-card { width: 42px !important; height: 59px !important; border-width: 3px !important; border-radius: 7px !important; }
.burkozel-trump-card .poker-card__corner { width: 15px !important; }
.burkozel-trump-card .poker-card__corner i:first-child { font-size: 10px !important; }
.burkozel-trump-card .poker-card__corner i:last-child { font-size: 11px !important; }
.burkozel-trump-card .poker-card__corner--tl { left: 3px !important; top: 4px !important; }
.burkozel-trump-card .poker-card__corner--br { right: 3px !important; bottom: 4px !important; }
.burkozel-trump-card .poker-card__suit { top: 18px !important; font-size: 25px !important; }

.burkozel-trick {
  position: absolute;
  left: 145px;
  top: 125px;
  width: 340px;
  height: 175px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  pointer-events: none;
}
.burkozel-trick-empty {
  color: rgba(232,255,239,.76);
  font-size: 13px;
  font-weight: 900;
  text-shadow: 0 2px 2px #003114;
}
.burkozel-trick-play {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 4px;
  transform: rotate(calc((var(--play) - 1.5) * 2deg));
}
.burkozel-trick-play > b {
  max-width: 110px;
  overflow: hidden;
  color: #e8fbff;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-shadow: 0 2px 2px #003024;
}
.burkozel-trick-play > div { display: flex; }
.burkozel-trick-play .poker-card + .poker-card { margin-left: -39px; }
.burkozel-table-card { width: 49px !important; height: 69px !important; border-width: 3px !important; border-radius: 8px !important; }
.burkozel-table-card .poker-card__corner { width: 16px !important; }
.burkozel-table-card .poker-card__corner i:first-child { font-size: 11px !important; }
.burkozel-table-card .poker-card__corner i:last-child { font-size: 12px !important; }
.burkozel-table-card .poker-card__corner--tl { left: 4px !important; top: 4px !important; }
.burkozel-table-card .poker-card__corner--br { right: 4px !important; bottom: 4px !important; }
.burkozel-table-card .poker-card__suit { top: 20px !important; font-size: 28px !important; }

.burkozel-seat {
  position: absolute;
  z-index: 20;
  width: 155px;
  min-height: 70px;
  transform: translate(-50%,-50%);
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  grid-template-rows: 24px 18px 18px;
  align-items: center;
  padding: 5px 7px;
  border: 2px solid #2dc8e7;
  border-radius: 14px;
  background: linear-gradient(180deg,rgba(20,92,111,.98),rgba(3,42,58,.98));
  box-shadow: 0 6px 10px rgba(0,0,0,.44), inset 0 1px rgba(255,255,255,.16);
}
.burkozel-seat.is-me { border-color: #62f58a; box-shadow: 0 6px 10px rgba(0,0,0,.44), 0 0 12px rgba(70,255,114,.28), inset 0 1px rgba(255,255,255,.18); }
.burkozel-seat.is-turn { border-color: #fff16c; box-shadow: 0 6px 10px rgba(0,0,0,.44), 0 0 15px rgba(255,233,70,.65), inset 0 1px rgba(255,255,255,.2); }
.burkozel-seat.is-bot { border-style: dashed; }
.burkozel-seat__avatar {
  grid-column: 1;
  grid-row: 1 / span 3;
  width: 52px;
  height: 52px;
  border: 3px solid #e8f9ff;
  border-radius: 50%;
  background: transparent url("../assets/default-avatar.png") center/86% auto no-repeat;
  box-shadow: 0 3px 7px rgba(0,0,0,.5);
}
.burkozel-seat__avatar.has-image { background-position: center !important; background-size: cover !important; }
.burkozel-seat > .seat-nick {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  overflow: hidden;
  color: #fff;
  font-size: 13px;
  font-weight: 1000;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.burkozel-seat > span,
.burkozel-seat > em {
  grid-column: 2;
  min-width: 0;
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
  white-space: nowrap;
}
.burkozel-seat > span { grid-row: 2; color: #bcefff; }
.burkozel-seat > span b { color: #ffe66e; }
.burkozel-seat > em { grid-row: 3; color: #b4d4df; }
.burkozel-seat__cards {
  position: absolute;
  left: 50%;
  top: calc(100% + 5px);
  width: 72px;
  height: 32px;
  transform: translateX(-50%);
  pointer-events: none;
}
.burkozel-seat__cards i {
  position: absolute;
  left: calc(var(--i) * 13px);
  top: 0;
  width: 25px;
  height: 34px;
  border: 2px solid #fff;
  border-radius: 4px;
  transform: rotate(calc((var(--i) - 1.5) * 5deg));
  background: repeating-linear-gradient(45deg,rgba(255,255,255,.18) 0 2px,transparent 2px 6px),linear-gradient(145deg,#09a43c,#005d22);
  box-shadow: 0 3px 4px rgba(0,0,0,.38);
}
.burkozel-turn-clock {
  position: absolute;
  left: 50%;
  bottom: -17px;
  width: 112px;
  height: 13px;
  transform: translateX(-50%);
  overflow: hidden;
  border: 2px solid rgba(221,250,255,.85);
  border-radius: 8px;
  background: #092b39;
  box-shadow: 0 2px 5px rgba(0,0,0,.45);
}
.burkozel-turn-clock i { position: absolute; left: 0; top: 0; bottom: 0; background: linear-gradient(90deg,#00c8ea,#ffe84c,#ff5145); }
.burkozel-turn-clock strong { position: absolute; inset: 0; color: #fff; font: 950 9px/10px Arial,sans-serif; text-align: center; text-shadow: 0 1px 1px #000; }

.burkozel-my-hand {
  position: absolute;
  left: 50%;
  bottom: -121px;
  z-index: 60;
  width: 460px;
  height: 108px;
  transform: translateX(-50%);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  pointer-events: none;
}
.burkozel-hand-card {
  position: relative;
  z-index: 1;
  width: 62px;
  height: 91px;
  margin: 0 -4px;
  padding: 0;
  border: 0;
  border-radius: 9px;
  background: transparent;
  cursor: pointer;
  pointer-events: auto;
  appearance: none;
  transition: transform .14s ease, filter .14s ease;
}
.burkozel-hand-card:hover { z-index: 6; transform: translateY(-8px); filter: drop-shadow(0 0 8px rgba(255,240,91,.9)); }
.burkozel-hand-card.is-selected { z-index: 8; transform: translateY(-16px); filter: drop-shadow(0 0 10px #fff15d) drop-shadow(0 0 5px #30dfff); }
.burkozel-player-card { width: 58px !important; height: 82px !important; border-width: 4px !important; }
.burkozel-player-card .poker-card__suit { top: 24px !important; font-size: 34px !important; }

.burkozel-actions {
  position: absolute;
  right: -82px;
  bottom: -116px;
  z-index: 80;
  width: 175px;
  display: grid;
  gap: 7px;
  pointer-events: auto;
}
.burkozel-actions button {
  min-height: 37px;
  border: 2px solid #bdeeff;
  border-radius: 16px;
  color: #f4fdff;
  background: linear-gradient(#5e8595,#254f62 58%,#123543);
  font: 1000 12px/1 Arial,sans-serif;
  text-shadow: 0 2px 1px #001d2a;
  box-shadow: 0 5px 8px rgba(0,0,0,.45), inset 0 2px rgba(255,255,255,.24), inset 0 -3px rgba(0,0,0,.2);
  cursor: pointer;
}
.burkozel-actions button:disabled { opacity: .42; cursor: default; filter: grayscale(.5); }
.burkozel-actions .burkozel-combo-button {
  min-height: 49px;
  border-color: #fff08c;
  background: linear-gradient(#ffe969,#f1a614 55%,#a84c00);
  color: #fff;
  font-size: 16px;
  animation: burkozel-combo-pulse .55s ease-in-out infinite alternate;
}
.burkozel-combo-button small { display: block; margin-top: 3px; font-size: 9px; letter-spacing: .5px; }
@keyframes burkozel-combo-pulse { to { transform: scale(1.035); box-shadow: 0 5px 8px rgba(0,0,0,.45),0 0 16px rgba(255,225,50,.85),inset 0 2px rgba(255,255,255,.35); } }
.burkozel-status {
  position: absolute;
  left: 50%;
  bottom: 13px;
  width: 360px;
  transform: translateX(-50%);
  display: grid;
  justify-items: center;
  color: #ddf8ff;
  font-size: 11px;
  text-align: center;
  text-shadow: 0 2px 2px #002616;
}
.burkozel-status b { color: #fff07b; font-size: 12px; }
.burkozel-status span { margin-top: 3px; }

.burkozel-round-shade {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: grid;
  place-items: center;
  background: rgba(0,18,27,.63);
  backdrop-filter: blur(2px);
  pointer-events: auto;
}
.burkozel-round-dialog {
  width: 420px;
  padding: 19px 22px 21px;
  border: 3px solid #76dff3;
  border-radius: 20px;
  background: linear-gradient(180deg,#155d74,#073b50 56%,#042a3b);
  box-shadow: 0 16px 28px rgba(0,0,0,.58), inset 0 2px rgba(255,255,255,.16);
  color: #eefcff;
  text-align: center;
}
.burkozel-round-dialog h3 { margin: 0 0 7px; color: #fff17a; font-size: 20px; text-shadow: 0 2px 2px #001e29; }
.burkozel-round-dialog p { margin: 0 0 13px; color: #cceef6; font-size: 13px; font-weight: 800; }
.burkozel-round-dialog section { display: grid; gap: 6px; margin-bottom: 14px; }
.burkozel-round-dialog section > div {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  align-items: center;
  padding: 7px 10px;
  border: 1px solid rgba(139,224,241,.35);
  border-radius: 9px;
  background: rgba(0,28,41,.35);
  font-size: 11px;
  text-align: left;
}
.burkozel-round-dialog section b { color: #fff07b; }
.burkozel-round-dialog section em { color: #9ee9f8; font-style: normal; }
.burkozel-round-dialog > button {
  min-width: 190px;
  height: 38px;
  border: 2px solid #fff18c;
  border-radius: 17px;
  background: linear-gradient(#ffe86a,#e89c12 58%,#8e4500);
  color: #fff;
  font: 1000 12px/1 Arial,sans-serif;
  text-shadow: 0 2px 1px #592900;
  box-shadow: 0 5px 8px rgba(0,0,0,.42), inset 0 2px rgba(255,255,255,.28);
  cursor: pointer;
}
.burkozel-round-dialog > button:disabled { opacity: .58; cursor: default; }

/* Венки и платиновые частицы новой игры держатся на тех же слоях, что в остальных столах. */
.classic-rush-ui.app--table .burkozel-seat > .rank-wreath { z-index: 1 !important; }
.classic-rush-ui.app--table .burkozel-seat > .platinum-sparks--wreath { z-index: 1000 !important; }
.classic-rush-ui.app--table .burkozel-seat .platinum-sparks--frame { z-index: 1100 !important; }

@media (max-height: 760px) {
  .burkozel-layer { transform: scale(.94); transform-origin: 0 0; width: 106.4%; height: 106.4%; }
}

/* V102 polish: игрок всегда снизу, его плашка стоит слева от руки, венок не теряется. */
.burkozel-seat.is-me { margin-left: -220px; }
.burkozel-seat .rank-wreath--burkozel {
  position: absolute !important;
  left: -7px !important;
  top: -9px !important;
  z-index: 1 !important;
  width: 72px !important;
  height: 72px !important;
  pointer-events: none;
}
.burkozel-seat .burkozel-seat__avatar { position: relative; z-index: 3; }
.burkozel-seat .seat-nick { position: relative; z-index: 5; }
.burkozel-actions .burkozel-combo-button:disabled {
  animation: none;
  opacity: .48;
  border-color: #8aa8b2;
  background: linear-gradient(#6d8791,#3a5965 58%,#223d48);
  filter: grayscale(.35);
}


/* V103: hidden-поля окна создания стола не должны занимать место. */
.table-create-grid label[hidden] { display: none !important; }

/* V103 — Буркозёл: читаемый розыгрыш, компактные действия и анимации карт. */
.burkozel-deck {
  width: 92px;
  height: 88px;
}
.burkozel-deck > b,
.burkozel-trump { display: none !important; }
.burkozel-trump-suit {
  position: absolute;
  left: -12px;
  top: -4px;
  z-index: 5;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 3px solid #fff2a5;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 28%,#fff,#e7f7ec 35%,#75a98a 100%);
  color: #101b16;
  font: 1000 27px/1 Georgia,serif;
  text-shadow: 0 1px 0 #fff;
  box-shadow: 0 4px 8px rgba(0,0,0,.48),0 0 10px rgba(255,238,115,.55);
}
.burkozel-trump-suit.is-red { color: #d51e2b; }

.burkozel-trick {
  left: 82px;
  top: 112px;
  width: 500px;
  height: 224px;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  grid-auto-rows: minmax(92px,auto);
  align-content: center;
  justify-content: center;
  align-items: center;
  justify-items: center;
  gap: 8px 12px;
}
.burkozel-trick:has(.burkozel-trick-play:only-child) { grid-template-columns: 1fr; }
.burkozel-trick-play {
  width: 225px;
  min-height: 86px;
  gap: 3px;
  transform: none;
}
.burkozel-trick-play > b {
  max-width: 210px;
  font-size: 10px;
}
.burkozel-trick-play > div {
  min-width: 0;
  display: flex;
  justify-content: center;
}
.burkozel-trick-play .poker-card + .poker-card { margin-left: -17px; }
.burkozel-table-card {
  width: 57px !important;
  height: 80px !important;
  border-width: 3px !important;
  border-radius: 8px !important;
  flex: 0 0 auto;
}
.burkozel-table-card .poker-card__corner { width: 18px !important; }
.burkozel-table-card .poker-card__corner i:first-child { font-size: 13px !important; }
.burkozel-table-card .poker-card__corner i:last-child { font-size: 14px !important; }
.burkozel-table-card .poker-card__suit { top: 23px !important; font-size: 31px !important; }

.burkozel-seat:not(.is-me) > em { display: none !important; }
.burkozel-seat__cards i.is-dealt {
  animation: burkozelDealBack .58s cubic-bezier(.18,.78,.22,1.03) both;
  animation-delay: calc(var(--deal-i) * .08s);
}
@keyframes burkozelDealBack {
  0% { opacity:.12; transform:translate(245px,125px) rotate(26deg) scale(.48); }
  72% { opacity:1; }
  100% { opacity:1; transform:rotate(calc((var(--i) - 1.5) * 5deg)) scale(1); }
}

.burkozel-actions {
  left: 50%;
  right: auto;
  bottom: -82px;
  width: 286px;
  transform: translateX(-50%);
  gap: 5px;
}
.burkozel-actions__main {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.burkozel-actions button {
  min-height: 38px;
  border-radius: 17px;
}
.burkozel-actions .burkozel-combo-button {
  min-height: 38px;
  font-size: 14px;
}
.burkozel-actions .burkozel-move-button {
  border-color: #d8f9ff;
  background: linear-gradient(#69a6b9,#2d667d 58%,#143f52);
  font-size: 14px;
}
.burkozel-play-all-button {
  width: 154px;
  justify-self: center;
  min-height: 31px !important;
  border-color: #ffe58a !important;
  background: linear-gradient(#e4c659,#9c6e12 58%,#533400) !important;
  font-size: 10px !important;
}
.burkozel-combo-button small { display:none !important; }

.burkozel-join-button {
  position: absolute;
  left: 50%;
  bottom: -77px;
  z-index: 95;
  width: 220px;
  height: 43px;
  transform: translateX(-50%);
  border: 2px solid #fff18b;
  border-radius: 18px;
  background: linear-gradient(#ffe96c,#eda514 58%,#8d4800);
  color: #fff;
  font: 1000 13px/1 Arial,sans-serif;
  text-shadow: 0 2px 1px #5f2d00;
  box-shadow: 0 6px 10px rgba(0,0,0,.48),inset 0 2px rgba(255,255,255,.3),0 0 14px rgba(255,222,65,.42);
  cursor: pointer;
}

/* Рука остаётся выше кнопок, а новые карты прилетают из колоды. */
.burkozel-my-hand { bottom: -138px; }
.burkozel-player-card.poker-card--dealt,
.burkozel-table-card.poker-card--dealt { will-change: transform,opacity,filter; }
.burkozel-status { bottom: 5px; }

.burkozel-join-button:disabled { opacity:.58; filter:grayscale(.5); cursor:default; }

/* V104 — Буркозёл: чистый стол без служебных надписей, крупные карты и понятная раскладка. */
.burkozel-trick-empty,
.burkozel-seat > span,
.burkozel-seat > em { display: none !important; }

.burkozel-seat {
  width: 150px;
  min-height: 62px;
  grid-template-columns: 58px minmax(0,1fr);
  grid-template-rows: 1fr;
  padding: 5px 8px;
}
.burkozel-seat__avatar {
  grid-column: 1;
  grid-row: 1;
}
.burkozel-seat > .seat-nick {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  font-size: 14px;
}

/* У соперника сверху карты лежат над плашкой, как в примере LiveGames. */
.burkozel-seat--pos-1 .burkozel-seat__cards,
.burkozel-seat--pos-2 .burkozel-seat__cards {
  top: auto;
  bottom: calc(100% + 7px);
}
.burkozel-seat--pos-3 .burkozel-seat__cards {
  left: auto;
  right: calc(100% + 7px);
  top: 50%;
  bottom: auto;
  transform: translateY(-50%) rotate(-90deg);
}
.burkozel-seat__cards {
  width: 128px;
  height: 68px;
}
.burkozel-seat__cards i {
  left: calc(var(--i) * 25px);
  width: 49px;
  height: 67px;
  border-width: 3px;
  border-radius: 7px;
  transform: rotate(calc((var(--i) - 1.5) * 3deg));
  box-shadow: 0 5px 7px rgba(0,0,0,.42);
}

/* Карты розыгрыша крупные и не перекрывают друг друга. */
.burkozel-trick {
  left: 74px;
  top: 96px;
  width: 514px;
  height: 250px;
  grid-template-columns: repeat(2, minmax(0,1fr));
  grid-auto-rows: minmax(112px,auto);
  gap: 8px 20px;
}
.burkozel-trick-play {
  width: 245px;
  min-height: 106px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.burkozel-trick-play > b { display: none !important; }
.burkozel-trick-play > div {
  display: flex;
  align-items: center;
  justify-content: center;
}
.burkozel-trick-play .poker-card + .poker-card { margin-left: 5px; }
.burkozel-table-card {
  width: 76px !important;
  height: 106px !important;
  border-width: 4px !important;
  border-radius: 10px !important;
  box-shadow: 0 7px 11px rgba(0,0,0,.4) !important;
}
.burkozel-table-card .poker-card__corner { width: 23px !important; }
.burkozel-table-card .poker-card__corner i:first-child { font-size: 17px !important; }
.burkozel-table-card .poker-card__corner i:last-child { font-size: 18px !important; }
.burkozel-table-card .poker-card__suit { top: 31px !important; font-size: 43px !important; }

/* Рука игрока — четыре отдельные крупные карты, кнопки находятся ниже. */
.burkozel-my-hand {
  bottom: -124px;
  width: 470px;
  height: 126px;
  gap: 7px;
}
.burkozel-hand-card {
  width: 82px;
  height: 118px;
  margin: 0;
  border-radius: 11px;
}
.burkozel-player-card {
  width: 78px !important;
  height: 110px !important;
  border-width: 4px !important;
  border-radius: 10px !important;
  box-shadow: 0 7px 10px rgba(0,0,0,.42) !important;
}
.burkozel-player-card .poker-card__corner { width: 23px !important; }
.burkozel-player-card .poker-card__corner i:first-child { font-size: 17px !important; }
.burkozel-player-card .poker-card__corner i:last-child { font-size: 18px !important; }
.burkozel-player-card .poker-card__suit { top: 31px !important; font-size: 43px !important; }
.burkozel-hand-card:hover { transform: translateY(-7px); }
.burkozel-hand-card.is-selected { transform: translateY(-15px); }

.burkozel-actions {
  bottom: -174px;
  width: 300px;
}
.burkozel-actions__main { gap: 10px; }
.burkozel-actions button { min-height: 39px; }
.burkozel-play-all-button { min-height: 32px !important; }

/* В активном кону в центре остаются только карты. */
.burkozel-status { display: none; }
.burkozel-round-shade .burkozel-status { display: grid; }

@media (max-height: 760px) {
  .burkozel-layer { transform: scale(.91); width: 109.9%; height: 109.9%; }
}

/* V104.1 — без дублирующих рубашек у самого игрока и без перекрытия кнопками. */
.burkozel-my-hand { bottom: -110px; }
.burkozel-actions { bottom: -205px; }
.burkozel-trick:has(.burkozel-trick-play:only-child) .burkozel-trick-play { width: 480px; }

/* При ходе тремя или четырьмя картами все номиналы остаются полностью видны. */
.burkozel-trick-play--cards-3 .burkozel-table-card {
  width: 63px !important;
  height: 88px !important;
}
.burkozel-trick-play--cards-3 .burkozel-table-card .poker-card__corner { width: 19px !important; }
.burkozel-trick-play--cards-3 .burkozel-table-card .poker-card__corner i:first-child { font-size: 14px !important; }
.burkozel-trick-play--cards-3 .burkozel-table-card .poker-card__corner i:last-child { font-size: 15px !important; }
.burkozel-trick-play--cards-3 .burkozel-table-card .poker-card__suit { top: 26px !important; font-size: 35px !important; }

.burkozel-trick-play--cards-4 .burkozel-table-card {
  width: 52px !important;
  height: 73px !important;
  border-width: 3px !important;
  border-radius: 8px !important;
}
.burkozel-trick-play--cards-4 .burkozel-table-card .poker-card__corner { width: 16px !important; }
.burkozel-trick-play--cards-4 .burkozel-table-card .poker-card__corner i:first-child { font-size: 11px !important; }
.burkozel-trick-play--cards-4 .burkozel-table-card .poker-card__corner i:last-child { font-size: 12px !important; }
.burkozel-trick-play--cards-4 .burkozel-table-card .poker-card__suit { top: 21px !important; font-size: 28px !important; }


/* V105 — Буркозёл: спокойнее анимации, задержка последней взятки и счёт возле игрока. */
.burkozel-scoreboard { display: none !important; }

/* Своя плашка перенесена в свободную нижнюю левую часть стола. */
.burkozel-seat.is-me {
  left: 90px !important;
  top: 334px !important;
  margin-left: 0 !important;
  width: 174px;
  min-height: 70px;
  grid-template-columns: 58px minmax(0,1fr);
  grid-template-rows: 22px 32px;
  padding: 6px 8px;
}
.burkozel-seat.is-me .burkozel-seat__avatar {
  grid-column: 1;
  grid-row: 1 / span 2;
}
.burkozel-seat.is-me > .seat-nick {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  font-size: 12px;
}
.burkozel-seat__match-score {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  display: flex;
  align-items: baseline;
  gap: 4px;
  min-width: 0;
  color: #dff9ff;
  white-space: nowrap;
  text-shadow: 0 2px 2px rgba(0,0,0,.7);
}
.burkozel-seat__match-score > span {
  color: #9fe9f7;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .5px;
}
.burkozel-seat__match-score > b {
  color: #fff06c;
  font-size: 21px;
  line-height: 1;
}
.burkozel-seat__match-score > small {
  color: #fff;
  font-size: 14px;
  font-weight: 950;
}
.burkozel-seat__match-score > em {
  position: absolute;
  left: 66px;
  bottom: -15px;
  color: #fff17a;
  font-size: 8px;
  font-style: normal;
  font-weight: 950;
  letter-spacing: .35px;
}

/* Кнопки почти примыкают к руке, но не касаются карт. */
.burkozel-actions { bottom: -185px; }

/* Чуть более спокойный вылет рубашек соперников. */
.burkozel-seat__cards i.is-dealt {
  animation-duration: .72s !important;
  animation-delay: calc(var(--deal-i) * .10s) !important;
}

/* V106 — Буркозёл: очки во взятках, карты «на карту» и группировка руки по мастям. */
.burkozel-seat.is-me {
  width: 192px;
  min-height: 78px;
  grid-template-rows: 21px 46px;
}
.burkozel-seat__match-score {
  flex-wrap: wrap;
  row-gap: 1px;
  line-height: 1;
}
.burkozel-seat__captured-score {
  flex: 0 0 100%;
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin-top: 3px;
  color: #dff9ff;
  font-style: normal;
  white-space: nowrap;
}
.burkozel-seat__captured-score > span {
  color: #9fe9f7;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .35px;
}
.burkozel-seat__captured-score > b {
  color: #fff06c;
  font-size: 15px;
  line-height: 1;
}
.burkozel-seat__match-score > em { bottom: -13px; }

/* Карты каждого следующего игрока ложатся поверх соответствующей карты,
   как карта защиты в «Дураке». */
.burkozel-trick {
  left: 77px;
  top: 82px;
  width: 510px;
  height: 264px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.burkozel-trick-pairs {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
}
.burkozel-trick-pair {
  position: relative;
  flex: 0 0 120px;
  width: 120px;
  height: 166px;
}
.burkozel-trick-card-layer {
  position: absolute;
  left: calc(var(--layer) * 16px);
  top: calc(var(--layer) * 19px);
  z-index: calc(10 + var(--layer));
  transform: rotate(calc((var(--layer) - 0.5) * 2deg));
  transform-origin: 50% 78%;
  filter: drop-shadow(0 5px 5px rgba(0,0,0,.28));
}
.burkozel-trick-card-layer:first-child { transform: rotate(-1deg); }

.burkozel-trick-pairs--count-3 { gap: 8px; }
.burkozel-trick-pairs--count-3 .burkozel-trick-pair {
  flex-basis: 105px;
  width: 105px;
  height: 150px;
}
.burkozel-trick-pairs--count-3 .burkozel-table-card {
  width: 66px !important;
  height: 92px !important;
}
.burkozel-trick-pairs--count-3 .burkozel-table-card .poker-card__corner { width: 20px !important; }
.burkozel-trick-pairs--count-3 .burkozel-table-card .poker-card__corner i:first-child { font-size: 15px !important; }
.burkozel-trick-pairs--count-3 .burkozel-table-card .poker-card__corner i:last-child { font-size: 16px !important; }
.burkozel-trick-pairs--count-3 .burkozel-table-card .poker-card__suit { top: 27px !important; font-size: 37px !important; }

.burkozel-trick-pairs--count-4 { gap: 5px; }
.burkozel-trick-pairs--count-4 .burkozel-trick-pair {
  flex-basis: 94px;
  width: 94px;
  height: 137px;
}
.burkozel-trick-pairs--count-4 .burkozel-trick-card-layer {
  left: calc(var(--layer) * 12px);
  top: calc(var(--layer) * 15px);
}
.burkozel-trick-pairs--count-4 .burkozel-table-card {
  width: 58px !important;
  height: 81px !important;
  border-width: 3px !important;
  border-radius: 8px !important;
}
.burkozel-trick-pairs--count-4 .burkozel-table-card .poker-card__corner { width: 17px !important; }
.burkozel-trick-pairs--count-4 .burkozel-table-card .poker-card__corner i:first-child { font-size: 12px !important; }
.burkozel-trick-pairs--count-4 .burkozel-table-card .poker-card__corner i:last-child { font-size: 13px !important; }
.burkozel-trick-pairs--count-4 .burkozel-table-card .poker-card__suit { top: 23px !important; font-size: 31px !important; }

/* Одномастные карты всегда стоят рядом; самая большая группа находится справа. */
.burkozel-my-hand { width: 500px; }
.burkozel-hand-card.is-suit-start { margin-left: 15px; }


/* V107 — Буркозёл: название найденной комбинации и быстрый сброс всех карт. */
.app--burkozel-table .game-dialog-shade--ready {
  background: transparent !important;
}
.burkozel-actions.has-combo .burkozel-combo-button {
  font-size: 13px;
  letter-spacing: .15px;
  white-space: nowrap;
}
.burkozel-actions.has-combo .burkozel-move-button {
  border-color: #ffe881;
  background: linear-gradient(#efd55f,#aa7916 58%,#593700);
  color: #fff;
  font-size: 11px;
  letter-spacing: .15px;
  box-shadow: 0 5px 8px rgba(0,0,0,.45), 0 0 13px rgba(255,225,50,.58), inset 0 2px rgba(255,255,255,.3);
}

/* V108 — Буркозёл: карты взятки улетают победителю, 1:20 на игру + 20 секунд на ход. */
.burkozel-trick-pairs.is-collecting {
  z-index: 90;
  overflow: visible;
}
.burkozel-trick-card-layer.is-collecting {
  z-index: 150 !important;
  will-change: transform, opacity, filter;
  animation: burkozelCollectTrick .82s cubic-bezier(.22,.72,.18,1) var(--collect-delay,0s) both;
}
.burkozel-trick-card-layer.is-collecting .poker-card {
  box-shadow: 0 8px 18px rgba(0,0,0,.48), 0 0 12px rgba(255,239,126,.52) !important;
}
@keyframes burkozelCollectTrick {
  0% {
    transform: translate(0,0) rotate(calc((var(--layer) - .5) * 2deg)) scale(1);
    opacity: 1;
    filter: drop-shadow(0 5px 5px rgba(0,0,0,.28));
  }
  48% {
    transform: translate(var(--collect-mid-x),var(--collect-mid-y)) rotate(var(--collect-mid-rot)) scale(.82);
    opacity: .98;
    filter: drop-shadow(0 10px 8px rgba(0,0,0,.34)) brightness(1.08);
  }
  100% {
    transform: translate(var(--collect-x),var(--collect-y)) rotate(var(--collect-rot)) scale(.18);
    opacity: .08;
    filter: drop-shadow(0 2px 2px rgba(0,0,0,.2)) brightness(1.15);
  }
}

.burkozel-player-clocks {
  position: absolute;
  left: 50%;
  bottom: -25px;
  z-index: 120;
  width: 142px;
  height: 22px;
  transform: translateX(-50%);
  display: flex;
  gap: 4px;
  pointer-events: none;
  font-family: Arial,sans-serif;
}
.burkozel-player-clocks > span {
  flex: 1 1 0;
  min-width: 0;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border: 2px solid rgba(177,230,242,.74);
  border-radius: 11px;
  background: linear-gradient(180deg,rgba(9,67,85,.98),rgba(3,37,50,.98));
  box-shadow: 0 3px 6px rgba(0,0,0,.46), inset 0 1px rgba(255,255,255,.12);
  color: #eafcff;
  text-shadow: 0 1px 1px #001d28;
}
.burkozel-player-clocks small {
  color: #8fdceb;
  font-size: 7px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: .35px;
}
.burkozel-player-clocks strong {
  color: #fff;
  font-size: 11px;
  font-weight: 1000;
  line-height: 1;
  white-space: nowrap;
}
.burkozel-player-clocks.is-active:not(.is-game-time) .burkozel-move-clock {
  border-color: #71f2ff;
  background: linear-gradient(180deg,#117d96,#064d64 62%,#033447);
  box-shadow: 0 3px 6px rgba(0,0,0,.46),0 0 10px rgba(65,225,255,.65),inset 0 1px rgba(255,255,255,.2);
}
.burkozel-player-clocks.is-active:not(.is-game-time) .burkozel-move-clock strong { color: #fff36e; }
.burkozel-player-clocks.is-game-time .burkozel-game-clock {
  border-color: #ffe36a;
  background: linear-gradient(180deg,#b27918,#764608 62%,#452500);
  box-shadow: 0 3px 6px rgba(0,0,0,.46),0 0 11px rgba(255,205,54,.68),inset 0 1px rgba(255,255,255,.2);
  animation: burkozelGameClockPulse .62s ease-in-out infinite alternate;
}
.burkozel-player-clocks.is-game-time .burkozel-game-clock small,
.burkozel-player-clocks.is-game-time .burkozel-game-clock strong { color: #fff4a0; }
.burkozel-player-clocks.is-game-time .burkozel-move-clock { opacity: .52; }
@keyframes burkozelGameClockPulse { to { filter: brightness(1.18); } }

/* У своей расширенной плашки таймеры чуть сдвинуты вправо, чтобы не упираться в край стола. */
.burkozel-seat.is-me .burkozel-player-clocks {
  left: 61%;
  bottom: -24px;
}


/* V109: автоматическое продолжение следующего кона Буркозла */
.burkozel-auto-continue-note {
  display: block;
  margin-top: 8px;
  color: rgba(225, 246, 255, .78);
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

/* V110 — Буркозёл: кнопки снова видны, плашка игрока и заголовки не перекрываются картами. */
.app--burkozel-table .table-title {
  left: 22px !important;
  right: auto !important;
  width: 330px;
  text-align: left;
}

.burkozel-heading {
  left: 22px;
  width: 300px;
  transform: none;
  place-items: start;
  text-align: left;
}

/* Кнопки находятся прямо над рукой и всегда остаются доступными. */
.burkozel-actions {
  bottom: 4px !important;
  z-index: 170;
}

/* Своя плашка и оба таймера отодвинуты влево от карт. */
.burkozel-seat.is-me {
  left: 50px !important;
}
.burkozel-seat.is-me .burkozel-player-clocks {
  left: 42%;
}

/* V111 — Буркозёл: три кнопки под картами в один ряд, без перекрытия нижней панелью. */
.burkozel-actions {
  left: 50%;
  right: auto;
  bottom: -162px !important;
  z-index: 180;
  width: 468px;
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 8px;
  pointer-events: auto;
}

/* Две основные кнопки становятся обычными элементами общей строки. */
.burkozel-actions__main {
  display: contents;
}

.burkozel-actions button,
.burkozel-actions .burkozel-combo-button,
.burkozel-actions .burkozel-move-button,
.burkozel-actions .burkozel-play-all-button {
  width: 100%;
  min-width: 0;
  min-height: 38px !important;
  height: 38px;
  margin: 0;
  justify-self: stretch;
  white-space: nowrap;
  pointer-events: auto;
}

.burkozel-actions .burkozel-play-all-button {
  font-size: 10px !important;
}

/* При двух кнопках (быстрая комбинация) они остаются по центру под рукой. */
.burkozel-actions.has-combo {
  grid-template-columns: repeat(2, 152px);
  justify-content: center;
}


/* V112 — Буркозёл: кнопки чуть выше, на одной линии с кнопкой «Выйти». */
.burkozel-actions {
  bottom: -145px !important;
}


/* ===== v113: no dark rectangle behind the result when a player leaves ===== */
.game-dialog-shade--exit-result {
  background: transparent !important;
}

/* =========================================================
   V114 — Длинные нарды
   ========================================================= */
.classic-rush-ui .app--menu .game-grid--nine,
.game-grid--nine {
  left: 70px;
  top: 92px;
  width: 970px;
  height: 486px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(3, 154px);
  column-gap: 12px;
  row-gap: 8px;
  align-items: start;
}
.game-grid--nine .game-card {
  height: 154px;
  min-width: 0;
}
.classic-rush-ui .app--menu .game-grid--nine .game-card__plate,
.game-grid--nine .game-card__plate {
  left: 50%;
  top: -2px;
  width: 136px;
  height: 108px;
  transform: translateX(-50%);
}
.classic-rush-ui .app--menu .game-grid--nine .game-card__count,
.game-grid--nine .game-card__count {
  right: 58px;
  top: -5px;
  font-size: 15px;
}
.classic-rush-ui .app--menu .game-grid--nine .game-card h3,
.game-grid--nine .game-card h3 {
  top: 91px;
  font-size: 18px;
  line-height: 1.02;
}
.game-grid--nine .game-card p { display: none; }
.game-grid--nine .icon--texas::before,
.game-grid--nine .icon--durak::before { left: 20px; transform: rotate(-12deg) scale(.68); transform-origin: center; }
.game-grid--nine .icon--texas::after,
.game-grid--nine .icon--durak::after { left: 66px; transform: rotate(12deg) scale(.68); transform-origin: center; }

.icon--backgammon {
  position: absolute;
  inset: 6px 8px 8px;
  overflow: hidden;
  border: 3px solid #f1fbff;
  border-radius: 18px;
  background:
    linear-gradient(90deg, transparent 48%, rgba(58,24,5,.72) 48% 52%, transparent 52%),
    repeating-linear-gradient(90deg, transparent 0 14%, rgba(255,231,174,.48) 14% 17%, transparent 17% 31%),
    linear-gradient(155deg,#a65c20,#e0a052 49%,#7f3c10);
  box-shadow: inset 0 3px rgba(255,255,255,.28), inset 0 -8px 14px rgba(38,13,0,.42), 0 5px 9px rgba(0,0,0,.42);
}
.icon--backgammon::before,
.icon--backgammon::after {
  content:"";
  position:absolute;
  top:8px;
  bottom:8px;
  width:44%;
  background:
    repeating-linear-gradient(90deg, transparent 0 16%, rgba(84,30,5,.52) 16% 29%, transparent 29% 42%);
  clip-path: polygon(0 0,100% 0,50% 72%);
  opacity:.8;
}
.icon--backgammon::before { left:3px; }
.icon--backgammon::after { right:3px; transform:scaleY(-1); }
.icon--backgammon i {
  position:absolute;
  z-index:2;
  width:25px;
  height:25px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.75);
  box-shadow:0 3px 4px rgba(0,0,0,.48), inset 0 2px rgba(255,255,255,.34);
}
.icon--backgammon i:nth-child(1) { left:17px; top:13px; background:#f6e6c6; }
.icon--backgammon i:nth-child(2) { left:17px; top:41px; background:#b41f20; }
.icon--backgammon i:nth-child(3) { right:17px; bottom:13px; background:#f6e6c6; }
.icon--backgammon i:nth-child(4) { right:17px; bottom:41px; background:#b41f20; }

.app--backgammon-table .table-area--backgammon {
  overflow: hidden;
  border-color: rgba(69, 218, 245, .82);
  background:
    radial-gradient(circle at 42% 38%, rgba(255,255,255,.10), transparent 33%),
    linear-gradient(180deg,#176c8d 0%,#0b4c69 46%,#06364f 100%);
}
.app--backgammon-table .table-area--backgammon::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background: repeating-radial-gradient(circle at 25% 31%, rgba(255,255,255,.045) 0 1px, transparent 2px 9px);
  opacity:.8;
}
.app--backgammon-table .table-area > .exit-btn { display:none !important; }
.backgammon-layer,
.backgammon-stage {
  position:absolute;
  inset:0;
}
.backgammon-layer { z-index:90; color:#f5fbff; }
.backgammon-stage { overflow:hidden; }

.backgammon-board {
  position:absolute;
  left:160px;
  top:50px;
  width:660px;
  height:472px;
  border:9px solid #8c430f;
  border-radius:24px;
  background:
    linear-gradient(90deg, transparent 49.2%, rgba(90,37,7,.75) 49.2% 50.8%, transparent 50.8%),
    radial-gradient(circle at 25% 50%, rgba(119,55,14,.26), transparent 30%),
    radial-gradient(circle at 75% 50%, rgba(119,55,14,.26), transparent 30%),
    linear-gradient(90deg,#c47a36 0 49.4%,#b96e2f 50.6% 100%);
  box-shadow:
    inset 0 0 0 4px #d69650,
    inset 0 0 24px rgba(58,22,2,.72),
    0 8px 14px rgba(0,0,0,.50);
}
.backgammon-board::before,
.backgammon-board::after {
  content:"♛";
  position:absolute;
  top:50%;
  width:42%;
  transform:translateY(-50%);
  color:rgba(112,53,13,.29);
  font:900 112px Georgia,serif;
  text-align:center;
  text-shadow:0 1px rgba(255,225,174,.2);
  pointer-events:none;
}
.backgammon-board::before { left:3%; }
.backgammon-board::after { right:3%; }
.backgammon-board__top,
.backgammon-board__bottom {
  position:absolute;
  left:17px;
  right:17px;
  height:46%;
  display:grid;
  grid-template-columns: repeat(6,minmax(0,1fr)) 24px repeat(6,minmax(0,1fr));
  z-index:4;
}
.backgammon-board__top { top:13px; }
.backgammon-board__bottom { bottom:13px; }
.backgammon-bar-spacer { pointer-events:none; }
.backgammon-center-bar {
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:22px;
  transform:translateX(-50%);
  z-index:5;
  border-left:2px solid rgba(73,26,4,.7);
  border-right:2px solid rgba(236,163,83,.55);
  background:linear-gradient(90deg,#6e2d08,#a95414 46%,#652606);
  box-shadow:0 0 8px rgba(44,12,0,.62);
}
.backgammon-center-bar i {
  position:absolute;
  left:50%;
  top:50%;
  width:10px;
  height:80px;
  transform:translate(-50%,-50%);
  border-radius:7px;
  background:linear-gradient(#d98d3e,#74300b,#d98d3e);
  opacity:.7;
}
.backgammon-point {
  position:relative;
  min-width:0;
  overflow:visible;
}
.backgammon-point__triangle {
  position:absolute;
  left:4%;
  width:92%;
  height:89%;
  filter:drop-shadow(0 1px rgba(255,231,181,.2));
}
.backgammon-point.is-top .backgammon-point__triangle {
  top:0;
  clip-path:polygon(0 0,100% 0,50% 100%);
}
.backgammon-point.is-bottom .backgammon-point__triangle {
  bottom:0;
  clip-path:polygon(50% 0,100% 100%,0 100%);
}
.backgammon-point.is-dark .backgammon-point__triangle { background:linear-gradient(#8d3c16,#bd6b35); }
.backgammon-point.is-light .backgammon-point__triangle { background:linear-gradient(#efe0bd,#bf8b50); }
.backgammon-point__number {
  position:absolute;
  z-index:10;
  left:50%;
  transform:translateX(-50%);
  color:rgba(255,242,211,.74);
  font:900 12px Arial,sans-serif;
  text-shadow:0 1px 2px rgba(53,16,0,.85);
  pointer-events:none;
}
.backgammon-point.is-top .backgammon-point__number { top:-12px; }
.backgammon-point.is-bottom .backgammon-point__number { bottom:-12px; }
.backgammon-point__pieces { position:absolute; inset:0; z-index:12; }
.backgammon-stack {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:transparent;
  overflow:visible;
}
.backgammon-stack:disabled { opacity:1; cursor:default; }
.backgammon-stack.is-selectable { cursor:pointer; filter:drop-shadow(0 0 5px rgba(255,245,105,.96)); }
.backgammon-stack.is-selectable:hover .backgammon-checker { transform:translateY(calc(var(--stack) * 29px)) scale(1.07); }
.backgammon-point.is-bottom .backgammon-stack.is-selectable:hover .backgammon-checker { transform:translateY(calc(var(--stack) * -29px)) scale(1.07); }
.backgammon-checker {
  position:absolute;
  left:50%;
  width:37px;
  height:37px;
  margin-left:-18.5px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.62);
  box-shadow:0 3px 4px rgba(40,10,0,.57), inset 0 3px rgba(255,255,255,.28), inset 0 -4px rgba(42,11,0,.30);
  transition:transform .12s ease;
}
.backgammon-point.is-top .backgammon-checker {
  top:1px;
  transform:translateY(calc(var(--stack) * 29px));
}
.backgammon-point.is-bottom .backgammon-checker {
  bottom:1px;
  transform:translateY(calc(var(--stack) * -29px));
}
.backgammon-checker--white { background:radial-gradient(circle at 37% 30%,#fffdf0,#e9d6ac 54%,#ae7e45); }
.backgammon-checker--red { background:radial-gradient(circle at 37% 30%,#f56c54,#bb231e 55%,#6f0d0b); }
.backgammon-stack b {
  position:absolute;
  z-index:30;
  left:50%;
  width:27px;
  height:27px;
  margin-left:-13.5px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#2a1004;
  background:#f5dd9c;
  border:2px solid #773314;
  font:950 13px Arial;
  box-shadow:0 2px 4px rgba(0,0,0,.55);
}
.backgammon-point.is-top .backgammon-stack b { top:122px; }
.backgammon-point.is-bottom .backgammon-stack b { bottom:122px; }
.backgammon-target,
.backgammon-bearoff-target {
  position:absolute;
  z-index:70;
  display:grid;
  place-items:center;
  border:0;
  color:#fff0d0;
  background:transparent;
  font:950 46px/1 Arial,sans-serif;
  text-shadow:0 2px 2px #5b1f08,0 0 7px #fff3a0;
  animation:backgammon-target-pulse .85s ease-in-out infinite alternate;
}
.backgammon-target { left:50%; top:50%; width:48px; height:55px; transform:translate(-50%,-50%); }
.backgammon-target small,
.backgammon-bearoff-target small {
  position:absolute;
  bottom:-2px;
  min-width:22px;
  padding:2px 4px;
  border-radius:9px;
  color:#3c1a05;
  background:#ffe678;
  font:950 10px Arial;
  text-shadow:none;
}
.backgammon-bearoff-target {
  right:-2px;
  top:50%;
  width:52px;
  height:118px;
  transform:translateY(-50%);
  animation-name:backgammon-bear-pulse;
}
.backgammon-bearoff-target small { right:0; bottom:3px; min-width:64px; }
@keyframes backgammon-target-pulse { from { opacity:.66; transform:translate(-50%,-50%) scale(.93); } to { opacity:1; transform:translate(-50%,-50%) scale(1.06); } }
@keyframes backgammon-bear-pulse { from { opacity:.66; transform:translateY(-50%) scale(.93); } to { opacity:1; transform:translateY(-50%) scale(1.06); } }

.backgammon-home-mark { display:none; }
.backgammon-player {
  position:absolute;
  left:9px;
  width:137px;
  min-height:142px;
  padding:8px 7px 8px;
  border:2px solid rgba(49,211,244,.62);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(12,91,122,.94),rgba(4,45,67,.96));
  box-shadow:0 6px 10px rgba(0,0,0,.37),inset 0 1px rgba(255,255,255,.16);
  text-align:center;
  z-index:25;
}
.backgammon-player--top { top:48px; }
.backgammon-player--bottom { top:360px; }
.backgammon-player.is-turn { border-color:#fff04d; box-shadow:0 0 12px rgba(255,236,56,.58),inset 0 1px rgba(255,255,255,.17); }
.backgammon-player.is-empty { display:grid; place-items:center; color:#a9d5e5; }
.backgammon-avatar {
  display:block;
  width:62px;
  height:62px;
  margin:0 auto 3px;
  border:2px solid #cdefff;
  border-radius:12px;
  background:#0a3449 center/cover no-repeat;
  box-shadow:0 3px 5px rgba(0,0,0,.42);
}
.backgammon-player .rank-wreath { width:82px; height:82px; left:27px; top:-2px; }
.backgammon-player__info b {
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff;
  font-size:13px;
  text-shadow:0 2px 1px #000;
}
.backgammon-player__info span,
.backgammon-player__info em {
  display:block;
  margin-top:2px;
  color:#c8eef9;
  font-size:10px;
  font-style:normal;
}
.backgammon-player__info strong { color:#fff455; }
.backgammon-player__info strong.is-reserve { color:#ff6e61; }
.backgammon-color-dot {
  display:inline-block;
  width:10px;
  height:10px;
  margin-right:4px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.8);
  vertical-align:-1px;
}
.backgammon-color-dot--white { background:#f1dfbd; }
.backgammon-color-dot--red { background:#b51f1d; }
.backgammon-off-count {
  margin-top:5px;
  padding:3px 5px;
  border-radius:9px;
  color:#c7edf8;
  background:rgba(0,20,31,.43);
  font-size:10px;
}
.backgammon-dice-tray {
  position:absolute;
  left:28px;
  top:252px;
  width:105px;
  min-height:59px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:6px;
  z-index:35;
  color:#bddce9;
  font-weight:900;
}
.backgammon-die {
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:8px;
  border:2px solid #552510;
  background:linear-gradient(145deg,#fff9df,#e2c99d);
  box-shadow:0 4px 5px rgba(0,0,0,.50),inset 0 2px rgba(255,255,255,.78);
  color:#3c1608;
  font-style:normal;
}
.backgammon-die::before { font:38px/1 "Segoe UI Symbol","Arial Unicode MS",sans-serif; }
.backgammon-die--1::before { content:"⚀"; }
.backgammon-die--2::before { content:"⚁"; }
.backgammon-die--3::before { content:"⚂"; }
.backgammon-die--4::before { content:"⚃"; }
.backgammon-die--5::before { content:"⚄"; }
.backgammon-die--6::before { content:"⚅"; }
.backgammon-die b { display:none; }
.backgammon-message {
  position:absolute;
  left:170px;
  right:25px;
  bottom:72px;
  min-height:24px;
  display:grid;
  place-items:center;
  color:#effbff;
  font-size:13px;
  font-weight:950;
  text-shadow:0 2px 2px #001a27;
  z-index:30;
}
.backgammon-bank {
  position:absolute;
  left:11px;
  bottom:66px;
  width:140px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:2px solid #3bd5ef;
  border-radius:14px;
  background:#063c58;
  color:#d8f5ff;
  font-size:11px;
  z-index:30;
}
.backgammon-bank b { color:#fff16a; }
.backgammon-bank em { padding:2px 5px; border-radius:7px; background:#9d261a; color:#fff4c2; font-size:9px; font-style:normal; }
.backgammon-controls {
  position:absolute;
  left:160px;
  right:18px;
  bottom:11px;
  height:43px;
  display:grid;
  grid-template-columns:72px 1.12fr 1.18fr 1.18fr .8fr .8fr;
  gap:7px;
  z-index:40;
}
.backgammon-controls button {
  min-width:0;
  height:34px;
  align-self:center;
  border-radius:17px;
  border:1px solid rgba(231,250,255,.66);
  color:#082333;
  background:linear-gradient(#effaff,#a9d3e4 55%,#699eb5);
  font-size:11px;
  font-weight:950;
  box-shadow:inset 0 2px rgba(255,255,255,.72),0 3px 4px rgba(0,0,0,.35);
}
.backgammon-controls button:hover:not(:disabled) { filter:brightness(1.08); transform:translateY(-1px); }
.backgammon-controls button:disabled { opacity:.42; cursor:default; }
.backgammon-auto {
  height:34px;
  align-self:center;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  border-radius:17px;
  color:#d9f2fa;
  background:rgba(2,40,59,.76);
  font-size:11px;
  font-weight:950;
  cursor:pointer;
}
.backgammon-auto input { position:absolute; opacity:0; pointer-events:none; }
.backgammon-auto i { width:14px; height:14px; border-radius:50%; border:2px solid #8db7c7; background:#416273; box-shadow:inset 0 2px 3px rgba(0,0,0,.4); }
.backgammon-auto.is-active i { border-color:#fff16a; background:#e0be14; box-shadow:0 0 7px rgba(255,237,60,.7); }
.backgammon-score-popup {
  position:absolute;
  z-index:210;
  left:50%;
  top:50%;
  width:390px;
  min-height:190px;
  transform:translate(-50%,-50%);
  padding:24px 28px 20px;
  border:3px solid #2ad0ed;
  border-radius:24px;
  color:#effbff;
  background:linear-gradient(180deg,#176d91,#073c59);
  box-shadow:0 15px 30px rgba(0,0,0,.58),inset 0 0 25px rgba(47,214,245,.18);
}
.backgammon-score-popup > button { position:absolute; right:12px; top:8px; color:#fff; background:transparent; font-size:25px; }
.backgammon-score-popup h3 { margin:0 0 16px; text-align:center; font-size:22px; }
.backgammon-score-popup > span { display:block; margin-bottom:5px; text-align:center; color:#bfe6f3; font-style:italic; }
.backgammon-score-popup p {
  display:grid;
  grid-template-columns:18px 1fr 70px;
  gap:8px;
  align-items:center;
  margin:8px 0;
  padding:8px 12px;
  border-radius:12px;
  background:rgba(1,30,45,.4);
}
.backgammon-score-popup p b { overflow:hidden; text-overflow:ellipsis; }
.backgammon-score-popup p strong { color:#fff16a; text-align:right; font-size:19px; }

.app--backgammon-table .game-ready-dialog,
.app--backgammon-table .game-result-dialog { z-index:230; }

@media (max-width: 1000px) {
  .backgammon-board { left:155px; width:655px; }
}

/* ===== V115: длинные нарды — полировка доски, фишек, костей и создания стола ===== */
.backgammon-mars-notice {
  display:block;
  grid-column:1 / -1;
  margin-top:7px;
  padding:8px 10px;
  border:1px solid rgba(255,222,89,.75);
  border-radius:10px;
  background:rgba(92,49,4,.34);
  color:#fff0a5;
  font-size:11px;
  font-weight:850;
  line-height:1.3;
  text-align:left;
}
.backgammon-mars-notice[hidden] { display:none !important; }

.backgammon-board {
  border-width:10px;
  border-color:#7b360c;
  background:
    repeating-linear-gradient(92deg,rgba(255,255,255,.025) 0 2px,rgba(72,28,4,.025) 2px 6px),
    repeating-linear-gradient(3deg,rgba(255,231,178,.035) 0 1px,transparent 1px 8px),
    linear-gradient(90deg,transparent 49.1%,rgba(74,27,4,.92) 49.1% 50.9%,transparent 50.9%),
    radial-gradient(ellipse at 24% 48%,rgba(255,205,131,.10),transparent 38%),
    radial-gradient(ellipse at 76% 48%,rgba(255,205,131,.10),transparent 38%),
    linear-gradient(90deg,#c77b36 0 49.3%,#b96a2b 50.7% 100%);
  box-shadow:
    inset 0 0 0 3px #e4a45e,
    inset 0 0 0 7px rgba(92,38,7,.52),
    inset 0 0 30px rgba(55,18,1,.78),
    0 10px 18px rgba(0,0,0,.54);
}
.backgammon-board::before,
.backgammon-board::after {
  color:rgba(105,44,8,.20);
  text-shadow:0 1px rgba(255,225,174,.17),0 -1px rgba(58,19,2,.22);
}
.backgammon-center-bar {
  width:24px;
  border-left:2px solid rgba(61,20,2,.8);
  border-right:2px solid rgba(242,172,89,.55);
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 4px),
    linear-gradient(90deg,#652405,#b0611c 47%,#5b1f04);
  box-shadow:0 0 10px rgba(42,11,0,.72),inset 0 0 8px rgba(255,184,91,.18);
}
.backgammon-center-bar i {
  width:11px;
  height:92px;
  border:1px solid rgba(80,29,4,.65);
  background:linear-gradient(#efb260,#8d420e 47%,#e6a14e);
  box-shadow:inset 0 2px rgba(255,255,255,.22),0 2px 4px rgba(0,0,0,.3);
}
.backgammon-point__triangle {
  left:5%;
  width:90%;
  height:91%;
  filter:drop-shadow(0 1px rgba(255,231,181,.17)) drop-shadow(0 2px 1px rgba(70,24,2,.17));
}
.backgammon-point.is-dark .backgammon-point__triangle {
  background:linear-gradient(180deg,#8b3512 0%,#b85e2c 58%,#cf8050 100%);
}
.backgammon-point.is-light .backgammon-point__triangle {
  background:linear-gradient(180deg,#f0ddb1 0%,#d5ad72 57%,#b87a3c 100%);
}
.backgammon-point__number {
  min-width:21px;
  padding:1px 3px;
  border-radius:8px;
  color:#f9e9c4;
  background:rgba(86,31,4,.35);
  font-size:11px;
  text-shadow:0 1px 2px rgba(40,10,0,.95);
}
.backgammon-point.is-top .backgammon-point__number { top:-10px; }
.backgammon-point.is-bottom .backgammon-point__number { bottom:-10px; }

.backgammon-checker {
  width:36px;
  height:36px;
  margin-left:-18px;
  z-index:var(--stack-z,1);
  border-width:2px;
  box-shadow:
    0 3px 4px rgba(40,10,0,.58),
    inset 0 3px 2px rgba(255,255,255,.30),
    inset 0 -4px 3px rgba(42,11,0,.34),
    0 0 0 1px rgba(65,20,2,.24);
  transition:transform .13s ease,filter .13s ease;
}
.backgammon-point.is-top .backgammon-checker {
  top:1px;
  transform:translateY(calc(var(--stack) * var(--stack-gap,29px)));
}
.backgammon-point.is-bottom .backgammon-checker {
  bottom:1px;
  transform:translateY(calc(var(--stack) * var(--stack-gap,29px) * -1));
}
.backgammon-stack.is-selectable:hover .backgammon-checker {
  transform:translateY(calc(var(--stack) * var(--stack-gap,29px))) scale(1.045);
  filter:brightness(1.06);
}
.backgammon-point.is-bottom .backgammon-stack.is-selectable:hover .backgammon-checker {
  transform:translateY(calc(var(--stack) * var(--stack-gap,29px) * -1)) scale(1.045);
}
.backgammon-checker--white {
  background:
    radial-gradient(circle at 34% 27%,rgba(255,255,255,.95) 0 10%,transparent 11%),
    radial-gradient(circle at 50% 45%,#fffdf1 0 34%,#e8d2a5 65%,#a87339 100%);
  border-color:#fff8df;
}
.backgammon-checker--red {
  background:
    radial-gradient(circle at 34% 27%,rgba(255,180,160,.8) 0 9%,transparent 10%),
    radial-gradient(circle at 50% 45%,#ee6650 0 32%,#bd251e 64%,#66100d 100%);
  border-color:#ff9c86;
}
.backgammon-stack b { display:none !important; }

.backgammon-target {
  left:50%;
  top:auto;
  width:39px;
  height:39px;
  transform:translateX(-50%);
  border-radius:50%;
  color:#fff3d0;
  background:rgba(112,43,7,.48);
  border:2px solid rgba(255,233,163,.86);
  font-size:31px;
  text-shadow:0 2px 2px #5b1f08,0 0 7px #fff3a0;
  box-shadow:0 2px 5px rgba(44,12,0,.5),inset 0 1px rgba(255,255,255,.23);
  animation:backgammon-target-edge-pulse .75s ease-in-out infinite alternate;
}
.backgammon-point.is-top .backgammon-target { top:5px; bottom:auto; }
.backgammon-point.is-bottom .backgammon-target { top:auto; bottom:5px; }
.backgammon-target small {
  right:-7px;
  bottom:-8px;
  min-width:20px;
  height:18px;
  padding:1px 4px;
  display:grid;
  place-items:center;
  border:1px solid #7a3a0a;
  background:#ffe273;
  box-shadow:0 2px 3px rgba(0,0,0,.34);
}
@keyframes backgammon-target-edge-pulse {
  from { opacity:.72; transform:translateX(-50%) scale(.92); }
  to { opacity:1; transform:translateX(-50%) scale(1.05); }
}

.backgammon-dice-tray {
  left:47px;
  top:197px;
  width:62px;
  min-height:156px;
  max-height:174px;
  flex-direction:column;
  flex-wrap:nowrap;
  justify-content:center;
  gap:5px;
}
.backgammon-die {
  flex:0 0 auto;
  width:38px;
  height:38px;
  border-radius:8px;
  border:2px solid #4e210b;
  background:linear-gradient(145deg,#fffbed,#e5cc9f 67%,#caa36e);
  box-shadow:0 4px 6px rgba(0,0,0,.52),inset 0 2px rgba(255,255,255,.84),inset 0 -2px rgba(91,44,12,.16);
  transform-style:preserve-3d;
  backface-visibility:hidden;
}
.backgammon-die::before { font-size:36px; }
.backgammon-stage.is-dice-rolling .backgammon-die {
  animation:backgammon-die-roll var(--dice-roll-duration,2000ms) cubic-bezier(.18,.72,.17,1) both;
}
.backgammon-stage.is-dice-rolling .backgammon-board { pointer-events:none; }
@keyframes backgammon-die-roll {
  0% { transform:translate3d(-8px,-18px,0) rotateX(0deg) rotateY(0deg) rotateZ(0deg) scale(.92); filter:blur(.2px); }
  16% { transform:translate3d(11px,7px,0) rotateX(210deg) rotateY(155deg) rotateZ(92deg) scale(1.06); }
  33% { transform:translate3d(-9px,-11px,0) rotateX(410deg) rotateY(330deg) rotateZ(205deg) scale(.98); }
  51% { transform:translate3d(8px,5px,0) rotateX(640deg) rotateY(515deg) rotateZ(335deg) scale(1.04); }
  69% { transform:translate3d(-5px,-6px,0) rotateX(820deg) rotateY(710deg) rotateZ(480deg) scale(.99); }
  84% { transform:translate3d(3px,2px,0) rotateX(990deg) rotateY(850deg) rotateZ(610deg) scale(1.015); }
  100% { transform:translate3d(0,0,0) rotateX(1080deg) rotateY(1080deg) rotateZ(720deg) scale(1); filter:none; }
}

.backgammon-message { display:none !important; }
.backgammon-bank { bottom:64px; }
.backgammon-controls { bottom:10px; }
.backgammon-watch-join {
  position:absolute;
  left:55%;
  bottom:61px;
  z-index:55;
  min-width:170px;
  height:34px;
  transform:translateX(-50%);
  border:2px solid #ffe56b;
  border-radius:18px;
  color:#392000;
  background:linear-gradient(#fff377,#ffc52d 56%,#d47a00);
  font-size:12px;
  font-weight:950;
  box-shadow:inset 0 2px rgba(255,255,255,.72),0 4px 7px rgba(0,0,0,.38);
}
.backgammon-watch-join:hover { filter:brightness(1.08); }

/* ===== V116: отдельный первый бросок, только две кости и счётчик шашек ===== */
.backgammon-stack b {
  display:grid !important;
  width:26px;
  height:26px;
  margin-left:-13px;
  color:#351604;
  background:linear-gradient(#fff0b5,#e9bd54);
  border:2px solid #73300e;
  box-shadow:0 2px 4px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.72);
  pointer-events:none;
}
.backgammon-point.is-top .backgammon-stack b { top:calc(6px + var(--stack-tail,0px)); }
.backgammon-point.is-bottom .backgammon-stack b { bottom:calc(6px + var(--stack-tail,0px)); }

.backgammon-die {
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.backgammon-die::before {
  position:relative;
  z-index:2;
  transition:opacity .08s linear;
}
.backgammon-die__reel {
  display:none;
  position:absolute;
  z-index:3;
  left:0;
  top:0;
  width:100%;
  height:228px;
  flex-direction:column;
  align-items:stretch;
  pointer-events:none;
}
.backgammon-die__reel u {
  flex:0 0 38px;
  height:38px;
  display:grid;
  place-items:center;
  color:#351507;
  font:36px/1 "Segoe UI Symbol","Arial Unicode MS",sans-serif;
  text-decoration:none;
}
.backgammon-stage.is-dice-rolling .backgammon-die::before { opacity:0; }
.backgammon-stage.is-dice-rolling .backgammon-die__reel {
  display:flex;
  animation:backgammon-die-face-cycle 220ms steps(6,end) infinite;
}
.backgammon-stage.is-dice-rolling .backgammon-die:nth-child(2) .backgammon-die__reel,
.backgammon-stage.is-dice-rolling .backgammon-die.is-opening-bottom .backgammon-die__reel {
  animation-delay:-90ms;
  animation-duration:190ms;
}
@keyframes backgammon-die-face-cycle {
  from { transform:translateY(0); }
  to { transform:translateY(-228px); }
}
@keyframes backgammon-die-roll {
  0% { transform:translate3d(0,-7px,0) rotateX(0deg) rotateY(0deg) rotateZ(-3deg) scale(.95); filter:blur(.15px); }
  12% { transform:translate3d(4px,3px,0) rotateX(95deg) rotateY(65deg) rotateZ(7deg) scale(1.04); }
  27% { transform:translate3d(-4px,-3px,0) rotateX(210deg) rotateY(155deg) rotateZ(-8deg) scale(.98); }
  43% { transform:translate3d(3px,4px,0) rotateX(335deg) rotateY(245deg) rotateZ(8deg) scale(1.035); }
  60% { transform:translate3d(-3px,-2px,0) rotateX(475deg) rotateY(350deg) rotateZ(-7deg) scale(.99); }
  77% { transform:translate3d(2px,2px,0) rotateX(625deg) rotateY(470deg) rotateZ(5deg) scale(1.02); }
  91% { transform:translate3d(-1px,-1px,0) rotateX(715deg) rotateY(545deg) rotateZ(-2deg) scale(1.005); }
  100% { transform:translate3d(0,0,0) rotateX(720deg) rotateY(540deg) rotateZ(0deg) scale(1); filter:none; }
}

.backgammon-opening-dice {
  position:absolute;
  left:47px;
  top:196px;
  width:62px;
  height:158px;
  z-index:38;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  pointer-events:none;
}
.backgammon-opening-die {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(4,48,69,.34);
  box-shadow:inset 0 0 0 1px rgba(83,217,243,.20);
}
.backgammon-opening-die .backgammon-die { width:40px; height:40px; }

.backgammon-opening-dialog {
  position:absolute;
  inset:0;
  z-index:225;
  display:grid;
  place-items:center;
  background:rgba(1,18,29,.26);
}
.backgammon-opening-dialog__panel {
  width:390px;
  min-height:190px;
  padding:28px 34px 24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:13px;
  border:3px solid #2bd4ef;
  border-radius:25px;
  background:linear-gradient(180deg,#19779c 0%,#0b506f 48%,#073b57 100%);
  box-shadow:0 16px 34px rgba(0,0,0,.62),inset 0 0 26px rgba(76,223,247,.16),inset 0 1px rgba(255,255,255,.28);
  color:#f1fbff;
  text-align:center;
}
.backgammon-opening-dialog__panel span {
  font-size:20px;
  font-weight:850;
  text-shadow:0 2px 2px #002436;
}
.backgammon-opening-dialog__panel b {
  max-width:330px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff46c;
  font-size:25px;
  text-shadow:0 2px 2px #4e2c00,0 0 9px rgba(255,233,70,.3);
}
.backgammon-opening-dialog__panel button {
  width:210px;
  height:36px;
  margin-top:6px;
  border:0;
  border-radius:18px;
  color:#382100;
  background:linear-gradient(#fff270,#ffc629 58%,#d98400);
  font-size:14px;
  font-weight:950;
  box-shadow:inset 0 2px rgba(255,255,255,.75),0 4px 7px rgba(0,0,0,.38);
}
.backgammon-opening-dialog__panel button:hover:not(:disabled) { filter:brightness(1.08); transform:translateY(-1px); }
.backgammon-opening-dialog__panel button:disabled { opacity:.55; cursor:default; }

/* ===== V118: видимая двухсекундная анимация костей и лотки снятых шашек ===== */
.backgammon-die {
  backface-visibility: visible !important;
  transform-style: flat !important;
  will-change: transform, filter;
}
.backgammon-die__reel {
  width: 100% !important;
  height: 700% !important;
}
.backgammon-die__reel u {
  flex: 0 0 calc(100% / 7) !important;
  height: calc(100% / 7) !important;
  min-height: 0 !important;
}
.backgammon-stage.is-dice-rolling .backgammon-die {
  opacity: 1 !important;
  visibility: visible !important;
  animation: backgammon-die-roll-visible var(--dice-roll-duration, 2000ms) cubic-bezier(.22,.74,.23,1) both !important;
}
.backgammon-stage.is-dice-rolling .backgammon-die__reel {
  display: flex !important;
  animation: backgammon-die-face-cycle-visible 180ms steps(6,end) infinite !important;
}
.backgammon-stage.is-dice-rolling .backgammon-die:nth-child(2) .backgammon-die__reel,
.backgammon-stage.is-dice-rolling .backgammon-die.is-opening-bottom .backgammon-die__reel {
  animation-delay: -75ms !important;
  animation-duration: 165ms !important;
}
@keyframes backgammon-die-face-cycle-visible {
  from { transform: translateY(0); }
  to { transform: translateY(-85.7142857%); }
}
@keyframes backgammon-die-roll-visible {
  0%   { transform: translate(0,-8px) rotate(-8deg) scale(.94); filter: drop-shadow(0 4px 3px rgba(0,0,0,.34)); }
  10%  { transform: translate(7px,3px) rotate(58deg) scale(1.06); }
  22%  { transform: translate(-6px,-5px) rotate(132deg) scale(.98); }
  35%  { transform: translate(6px,5px) rotate(218deg) scale(1.055); }
  48%  { transform: translate(-5px,-3px) rotate(305deg) scale(.985); }
  61%  { transform: translate(5px,4px) rotate(402deg) scale(1.04); }
  74%  { transform: translate(-3px,-3px) rotate(500deg) scale(.995); }
  86%  { transform: translate(3px,2px) rotate(612deg) scale(1.025); }
  95%  { transform: translate(-1px,-1px) rotate(690deg) scale(1.01); }
  100% { transform: translate(0,0) rotate(720deg) scale(1); filter: drop-shadow(0 4px 3px rgba(0,0,0,.34)); }
}

.backgammon-off-rail {
  position: absolute;
  left: 824px;
  width: 42px;
  height: 186px;
  z-index: 22;
  pointer-events: none;
  border: 3px solid #71310b;
  border-radius: 12px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.12), transparent 24% 76%, rgba(50,15,0,.24)),
    linear-gradient(#b86a2b,#8d430f);
  box-shadow: inset 0 0 0 2px rgba(234,157,77,.5), inset 0 0 12px rgba(42,12,0,.62), 0 4px 7px rgba(0,0,0,.34);
  opacity: .72;
}
.backgammon-off-rail--top { top: 63px; }
.backgammon-off-rail--bottom { top: 318px; }
.backgammon-off-rail.has-checkers { opacity: 1; }
.backgammon-off-checker {
  position: absolute;
  left: 50%;
  width: 34px;
  height: 34px;
  margin-left: -17px;
  z-index: var(--off-z,1);
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.68);
  box-shadow: 0 3px 4px rgba(34,8,0,.58), inset 0 3px 2px rgba(255,255,255,.30), inset 0 -4px 3px rgba(42,11,0,.34);
}
.backgammon-off-rail--top .backgammon-off-checker { top: calc(4px + var(--off-index) * 10px); }
.backgammon-off-rail--bottom .backgammon-off-checker { bottom: calc(4px + var(--off-index) * 10px); }
.backgammon-off-checker--white {
  border-color: #fff8df;
  background:
    radial-gradient(circle at 34% 27%,rgba(255,255,255,.95) 0 10%,transparent 11%),
    radial-gradient(circle at 50% 45%,#fffdf1 0 34%,#e8d2a5 65%,#a87339 100%);
}
.backgammon-off-checker--red {
  border-color: #ff9c86;
  background:
    radial-gradient(circle at 34% 27%,rgba(255,180,160,.8) 0 9%,transparent 10%),
    radial-gradient(circle at 50% 45%,#ee6650 0 32%,#bd251e 64%,#66100d 100%);
}
.backgammon-off-rail > b {
  position: absolute;
  right: -8px;
  top: 50%;
  z-index: 40;
  min-width: 22px;
  height: 22px;
  padding: 0 4px;
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  border: 2px solid #71310b;
  border-radius: 12px;
  color: #321304;
  background: linear-gradient(#fff1b0,#e9ba4d);
  font: 950 11px Arial,sans-serif;
  box-shadow: 0 2px 4px rgba(0,0,0,.46);
}

/* ===== V119: доска и лотки левее, предварительные ходы и движение шашки ===== */
.backgammon-board { left:150px; }
.backgammon-off-rail { left:814px; }
.backgammon-controls { left:150px; }

.backgammon-flying-checker {
  position:fixed;
  z-index:9999;
  display:block;
  margin:0;
  pointer-events:none;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.68);
  box-sizing:border-box;
  box-shadow:
    0 6px 10px rgba(34,8,0,.48),
    inset 0 3px 2px rgba(255,255,255,.30),
    inset 0 -4px 3px rgba(42,11,0,.34),
    0 0 10px rgba(255,230,145,.25);
  will-change:transform;
}
.backgammon-flying-checker--white {
  border-color:#fff8df;
  background:
    radial-gradient(circle at 34% 27%,rgba(255,255,255,.95) 0 10%,transparent 11%),
    radial-gradient(circle at 50% 45%,#fffdf1 0 34%,#e8d2a5 65%,#a87339 100%);
}
.backgammon-flying-checker--red {
  border-color:#ff9c86;
  background:
    radial-gradient(circle at 34% 27%,rgba(255,180,160,.8) 0 9%,transparent 10%),
    radial-gradient(circle at 50% 45%,#ee6650 0 32%,#bd251e 64%,#66100d 100%);
}

@media (max-width:1000px) {
  .backgammon-board { left:148px; }
  .backgammon-off-rail { left:812px; }
  .backgammon-controls { left:148px; }
}

/* ===== V120: спокойная all-in выкладка без промежуточного мигания =====
   Карты двигаются только через transform/opacity и получают отдельный
   композитный слой на время полёта. Это уменьшает подёргивания при флопе,
   тёрне и ривере, особенно когда раскрыты карты нескольких игроков. */
.classic-rush-ui .app--poker-table .poker-card--dealt {
  will-change: transform, opacity;
  backface-visibility: hidden;
  transform-style: preserve-3d;
}
.classic-rush-ui .app--poker-table .poker-layer {
  contain: layout paint style;
}



/* V121 — Буркозёл: колода визуально уменьшается по мере добора и полностью
   исчезает после последней карты, при этом индикатор козыря остаётся. */
.burkozel-deck {
  right: 25px;
  bottom: 31px;
  width: 100px;
  height: 102px;
  overflow: visible;
}
.burkozel-deck-stack {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 62px;
  height: 82px;
  transform: rotate(-8deg);
  transform-origin: 50% 70%;
  filter: drop-shadow(0 7px 8px rgba(0,0,0,.42));
  transition: transform .32s ease, filter .32s ease;
}
.burkozel-deck-card-back {
  position: absolute;
  right: calc(var(--deck-layer) * 1.8px);
  bottom: calc(var(--deck-layer) * 1.8px);
  z-index: calc(1 + var(--deck-layer));
  width: 55px;
  height: 76px;
  box-sizing: border-box;
  border: 4px solid #fff;
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 46%, rgba(255,218,69,.62) 0 8px, transparent 9px),
    repeating-linear-gradient(45deg, rgba(255,255,255,.17) 0 3px, transparent 3px 8px),
    linear-gradient(145deg,#10bf49,#006f2a 59%,#003d17);
  box-shadow: 0 2px 0 rgba(218,230,237,.96), inset 0 0 0 1px rgba(0,40,19,.28);
  transition: right .32s ease, bottom .32s ease, opacity .24s ease, transform .32s ease;
}
.burkozel-deck.has-cards.is-shrinking .burkozel-deck-stack {
  animation: burkozel-deck-settle .78s cubic-bezier(.22,.85,.3,1);
}
.burkozel-deck.has-cards.is-shrinking .burkozel-deck-stack::after {
  content: '';
  position: absolute;
  right: 7px;
  bottom: 5px;
  z-index: 20;
  width: 55px;
  height: 76px;
  box-sizing: border-box;
  border: 4px solid #fff;
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 46%, rgba(255,218,69,.62) 0 8px, transparent 9px),
    repeating-linear-gradient(45deg, rgba(255,255,255,.17) 0 3px, transparent 3px 8px),
    linear-gradient(145deg,#10bf49,#006f2a 59%,#003d17);
  box-shadow: 0 5px 8px rgba(0,0,0,.36);
  pointer-events: none;
  animation: burkozel-deck-card-away .72s cubic-bezier(.18,.8,.25,1) both;
}
.burkozel-deck.is-empty .burkozel-trump-suit {
  transform: translate(20px,20px) scale(1.04);
  box-shadow: 0 5px 10px rgba(0,0,0,.5),0 0 14px rgba(255,238,115,.72);
}
.burkozel-deck .burkozel-trump-suit {
  transition: transform .35s ease, box-shadow .35s ease;
}
@keyframes burkozel-deck-settle {
  0% { transform: rotate(-8deg) translate(0,0) scale(1); }
  35% { transform: rotate(-5deg) translate(-3px,-3px) scale(1.035); }
  100% { transform: rotate(-8deg) translate(0,0) scale(1); }
}
@keyframes burkozel-deck-card-away {
  0% { opacity: .98; transform: translate(0,0) rotate(0deg) scale(1); }
  45% { opacity: .9; transform: translate(-35px,-32px) rotate(-15deg) scale(.94); }
  100% { opacity: 0; transform: translate(-108px,-108px) rotate(-30deg) scale(.72); }
}

/* ===== V122: Русские шашки ===== */
.classic-rush-ui .app--menu .game-grid--ten,
.game-grid--ten {
  left: 70px; top: 78px; width: 970px; height: 506px;
  display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); grid-template-rows: repeat(2,238px);
  column-gap: 10px; row-gap: 10px; align-items: start;
}
.game-grid--ten .game-card { height: 238px; min-width: 0; }
.classic-rush-ui .app--menu .game-grid--ten .game-card__plate,
.game-grid--ten .game-card__plate { left:50%; top:8px; width:150px; height:150px; transform:translateX(-50%); }
.classic-rush-ui .app--menu .game-grid--ten .game-card__count,
.game-grid--ten .game-card__count { right:20px; top:0; font-size:15px; }
.classic-rush-ui .app--menu .game-grid--ten .game-card h3,
.game-grid--ten .game-card h3 { top:160px; font-size:19px; line-height:1.03; }
.game-grid--ten .game-card p { display:none; }
.game-grid--ten .icon--texas::before,.game-grid--ten .icon--durak::before{left:21px;transform:rotate(-12deg) scale(.75)}
.game-grid--ten .icon--texas::after,.game-grid--ten .icon--durak::after{left:72px;transform:rotate(12deg) scale(.75)}

.icon--checkers { position:absolute; inset:7px 8px 9px; overflow:hidden; border:3px solid #effcff; border-radius:22px;
  background: repeating-conic-gradient(from 45deg,#d8eadc 0 25%,#477b70 0 50%) 50%/38px 38px;
  box-shadow:inset 0 3px rgba(255,255,255,.34),inset 0 -8px 14px rgba(0,20,25,.35),0 5px 9px rgba(0,0,0,.42); }
.icon--checkers i { position:absolute; width:45px; height:45px; border-radius:50%; border:4px solid rgba(255,255,255,.86); box-shadow:0 7px 7px rgba(0,0,0,.48),inset 0 5px 6px rgba(255,255,255,.42),inset 0 -7px 8px rgba(0,0,0,.25); }
.icon--checkers i:nth-child(1){left:20px;top:28px;background:linear-gradient(#fff9df,#d1c4a1 58%,#9b8562)}
.icon--checkers i:nth-child(2){right:17px;bottom:22px;background:linear-gradient(#3c4b50,#111b20 58%,#020608)}
.icon--checkers i:nth-child(3){left:49px;bottom:38px;background:linear-gradient(#fff9df,#d1c4a1 58%,#9b8562);transform:scale(.82)}
.game-card[data-kind="checkers"] .game-card__plate::after { content:"RU"; position:absolute; right:-5px; bottom:3px; z-index:8; min-width:37px; height:27px; padding:0 6px; border:2px solid #fff0a5; border-radius:15px; background:linear-gradient(#ffd75d,#c87908 60%,#713700); color:#fff; font:1000 12px/24px Arial,sans-serif; text-align:center; text-shadow:0 1px 1px #502300; box-shadow:0 3px 7px rgba(0,0,0,.45),inset 0 2px rgba(255,255,255,.3); }

.app--checkers-table .table-area--checkers { overflow:hidden; background:radial-gradient(circle at 42% 48%,rgba(72,190,165,.25),transparent 46%),linear-gradient(145deg,#104f58,#073640 56%,#042830); }
.app--checkers-table .table-area--checkers::before { content:""; position:absolute; inset:35px 8px 7px; border:1px solid rgba(202,255,241,.22); border-radius:17px; box-shadow:inset 0 0 44px rgba(0,0,0,.26); pointer-events:none; }
.app--checkers-table .green-table,.app--checkers-table .table-area>.player-seat,.app--checkers-table .table-area>.sit-btn{display:none!important}
.app--checkers-table .exit-btn{z-index:180;right:13px;bottom:11px}
.checkers-layer{position:absolute;inset:0;z-index:35;overflow:hidden;color:#fff;font-family:Arial,sans-serif}.checkers-stage{position:absolute;inset:0}
.checkers-board-frame{position:absolute;left:20px;top:65px;width:508px;height:508px;padding:6px;border:2px solid #f0d69b;border-radius:12px;background:linear-gradient(145deg,#ecd49d,#a66f31 47%,#5f3519 52%,#2b170d);box-shadow:0 12px 22px rgba(0,0,0,.56),inset 0 2px rgba(255,255,255,.75),0 0 0 3px rgba(0,15,19,.5)}
.checkers-board{width:496px;height:496px;display:grid;grid-template-columns:repeat(8,62px);grid-template-rows:repeat(8,62px);overflow:hidden;border:1px solid rgba(0,0,0,.68);background:#e8d6a9}
.checkers-square{position:relative;width:62px;height:62px;margin:0;padding:0;border:0;border-radius:0;display:grid;place-items:center;appearance:none;box-shadow:none;outline:0;cursor:default}
.checkers-square.is-light{background:#ead9ad}.checkers-square.is-dark{background:#547f72}.checkers-square.is-last-move.is-light{background:#f1dc6d}.checkers-square.is-last-move.is-dark{background:#9ba74b}
.checkers-square.is-selectable{cursor:pointer}.checkers-square.is-selectable::before{content:"";position:absolute;inset:5px;border:2px solid rgba(90,239,255,.72);border-radius:50%;opacity:.25;transition:opacity .14s,transform .14s}.checkers-square.is-selectable:hover::before{opacity:1;transform:scale(.92)}
.checkers-square.is-selected,.checkers-square.is-forced{background:#43b9ca!important;box-shadow:inset 0 0 0 4px rgba(237,255,255,.82)}
.checkers-square.is-forced{animation:checkersForced 1s ease-in-out infinite alternate}@keyframes checkersForced{to{filter:brightness(1.18)}}
.checkers-square.is-target::after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:rgba(10,53,48,.46);box-shadow:0 0 0 4px rgba(240,255,220,.62),0 0 14px rgba(255,231,89,.5)}
.checkers-piece{position:relative;z-index:3;width:49px;height:49px;border-radius:50%;pointer-events:none;user-select:none;transform:translateY(-1px);transition:transform .26s cubic-bezier(.2,.8,.2,1),filter .2s;box-shadow:0 7px 8px rgba(0,0,0,.48),inset 0 5px 7px rgba(255,255,255,.4),inset 0 -7px 9px rgba(0,0,0,.25)}
.checkers-piece::before,.checkers-piece::after{content:"";position:absolute;border-radius:50%;inset:5px;border:2px solid rgba(255,255,255,.32);box-shadow:inset 0 0 0 2px rgba(0,0,0,.12)}.checkers-piece::after{inset:11px;border-width:1px}
.checkers-piece--white{border:3px solid #fff7d9;background:radial-gradient(circle at 34% 26%,#fffef0 0 16%,#e6d8b5 36%,#b49a72 72%,#6f5436 100%)}
.checkers-piece--black{border:3px solid #b9d1d3;background:radial-gradient(circle at 34% 26%,#52666a 0 15%,#26383d 38%,#101a1e 72%,#020608 100%)}
.checkers-piece.is-king{box-shadow:0 7px 8px rgba(0,0,0,.5),0 0 0 3px #f3cf48,0 0 15px rgba(255,222,75,.75),inset 0 5px 7px rgba(255,255,255,.4),inset 0 -7px 9px rgba(0,0,0,.28)}
.checkers-piece.is-king b{position:absolute;inset:0;display:grid;place-items:center;z-index:5;color:#ffe76d;font:1000 25px/1 Georgia,serif;text-shadow:0 2px 2px #4d2500,0 0 5px #fff3a8}
.checkers-file-label,.checkers-rank-label{position:absolute;z-index:6;color:rgba(45,35,16,.72);font:900 10px/1 Arial,sans-serif;pointer-events:none}.checkers-file-label{right:3px;bottom:2px}.checkers-rank-label{left:3px;top:3px}.checkers-square.is-dark :is(.checkers-file-label,.checkers-rank-label){color:rgba(238,255,246,.8)}
.checkers-side-panel{position:absolute;left:545px;top:57px;width:282px;height:520px;display:grid;grid-template-rows:86px 98px 1fr 86px;gap:7px}
.checkers-player-card{position:relative;min-width:0;display:grid;grid-template-columns:58px minmax(0,1fr) 82px;align-items:center;gap:7px;padding:6px 7px;border:2px solid rgba(188,231,241,.56);border-radius:13px;background:linear-gradient(180deg,rgba(25,87,91,.98),rgba(5,45,51,.98));box-shadow:0 5px 10px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.12)}
.checkers-player-card.is-turn{border-color:#ffe272;box-shadow:0 5px 10px rgba(0,0,0,.38),0 0 14px rgba(255,221,87,.38),inset 0 1px rgba(255,255,255,.18)}.checkers-player-card.is-me{background:linear-gradient(180deg,rgba(28,110,111,.98),rgba(5,59,64,.98))}.checkers-player-card.is-empty{opacity:.73}
.checkers-player-avatar-wrap{position:relative;width:56px;height:56px}.checkers-player-avatar,.checkers-player-avatar>img{width:56px;height:56px;border-radius:50%;object-fit:cover}.checkers-player-avatar{display:grid;place-items:center;overflow:hidden;border:2px solid rgba(255,255,255,.75);background:linear-gradient(#d8eef5,#6b9aaa);box-shadow:inset 0 1px rgba(255,255,255,.45),0 3px 6px rgba(0,0,0,.4)}.checkers-player-avatar--empty{color:#315d6d;font:900 31px/1 Georgia,serif}
.checkers-player-avatar-wrap .rank-wreath--checkers{position:absolute!important;z-index:4;left:-10px!important;top:-11px!important;width:76px!important;height:76px!important;pointer-events:none}
.checkers-player-copy{min-width:0;overflow:hidden}.checkers-player-copy small,.checkers-player-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkers-player-copy small{color:#9ddce9;font:900 10px/1.1 Arial,sans-serif;text-transform:uppercase}.checkers-player-copy b,.checkers-player-copy .checkers-player-name{display:block;max-width:100%;margin:3px 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font:1000 14px/1.1 Arial,sans-serif;text-shadow:0 2px 1px #001b27}.checkers-player-copy span{color:#c8e6ed;font:800 10px/1.1 Arial,sans-serif}
.checkers-clock{min-width:76px;padding:8px 5px;border:2px solid rgba(255,255,255,.55);border-radius:9px;background:linear-gradient(#e6f2f4,#95b0b5 54%,#5d777d);color:#173039;font:1000 21px/1 Arial,sans-serif;text-align:center;letter-spacing:-.6px;box-shadow:inset 0 2px rgba(255,255,255,.55),0 3px 5px rgba(0,0,0,.3)}.checkers-clock.is-active{background:linear-gradient(#fff7a4,#f2c43a 56%,#b66b05);color:#442300}.checkers-clock.is-low{color:#8b2200}.checkers-clock.is-critical{background:linear-gradient(#ffaaa4,#e54238 57%,#8c0d08);color:#fff;animation:chess-clock-pulse .6s ease-in-out infinite alternate}
.checkers-match-info,.checkers-history{border:1px solid rgba(180,224,235,.42);border-radius:11px;background:linear-gradient(180deg,rgba(4,58,62,.96),rgba(2,35,39,.98));box-shadow:inset 0 1px rgba(255,255,255,.09),0 4px 8px rgba(0,0,0,.3)}.checkers-match-info{padding:8px 10px}.checkers-match-info h3{margin:0 0 6px;color:#ffe878;font:1000 13px/1.1 Arial,sans-serif;text-align:center;text-shadow:0 1px 1px #000}.checkers-match-info>div{display:flex;justify-content:space-between;color:#b7dce5;font-size:11px}.checkers-match-info>div b{color:#fff}.checkers-match-info p{margin:6px -3px -2px;padding:4px 6px;border-radius:7px;background:rgba(0,0,0,.23);color:#d9f3f8;font:900 11px/1.2 Arial,sans-serif;text-align:center}.checkers-match-info p.is-my-turn{background:rgba(239,190,30,.24);color:#fff18a}
.checkers-history{min-height:0;padding:5px 6px;overflow:auto}.checkers-history header,.checkers-history-row{display:grid;grid-template-columns:28px 1fr 1fr;gap:3px;align-items:center}.checkers-history header{position:sticky;top:-5px;z-index:2;margin:-5px -6px 4px;padding:5px 7px;background:#17484a;color:#a8d2dd;font:900 9px/1 Arial,sans-serif;text-transform:uppercase}.checkers-history-row{min-height:20px;border-bottom:1px solid rgba(255,255,255,.06);font:800 11px/1 Arial,sans-serif}.checkers-history-row b{color:#7faab5}.checkers-history-row span{color:#edf9fb}.checkers-history-empty{padding:15px 4px;color:#7faab5;font:800 11px/1.3 Arial,sans-serif;text-align:center}
.checkers-join-button{position:absolute;left:331px;bottom:12px;z-index:85;min-width:150px;height:30px;border:1px solid #fff;border-radius:15px;background:linear-gradient(#dff5fb,#75aec3 55%,#315f75);color:#fff;font:1000 12px/28px Arial,sans-serif;text-shadow:0 1px 1px #000;box-shadow:inset 0 2px rgba(255,255,255,.36),0 4px 7px rgba(0,0,0,.38);cursor:pointer}
.app--checkers-table .room-panel{z-index:60;isolation:isolate}

/* Движение шашки показывается только один раз при получении нового хода. */
.checkers-piece.is-arriving { animation: checkers-arrive .34s cubic-bezier(.18,.85,.25,1.18) both; }
.checkers-square.is-selected .checkers-piece { transform: translateY(-5px) scale(1.07); filter: brightness(1.12); }
.checkers-square.is-target { cursor: pointer; }
@keyframes checkers-arrive {
  0% { transform: translateY(-18px) scale(.72); opacity:.15; filter:blur(2px) brightness(1.45); }
  68% { transform: translateY(2px) scale(1.09); opacity:1; filter:blur(0) brightness(1.12); }
  100% { transform: translateY(-1px) scale(1); opacity:1; filter:none; }
}

/* ======================================================================
   V125 — SNOOKER
   Полноценный зелёный стол, сектор D, снукерные шары и табло фрейма.
   Восьмёрка использует прежние стили и физику без изменений.
   ====================================================================== */

/* Карточка игры в главном меню. */
.icon--snooker::before {
  content:"";
  position:absolute;
  left:38px;
  top:20px;
  width:122px;
  height:70px;
  border:8px solid #603019;
  border-radius:16px;
  background:
    linear-gradient(90deg,transparent 0 72%,rgba(244,244,223,.5) 72% 72.8%,transparent 73%),
    radial-gradient(ellipse at 48% 42%,rgba(255,255,255,.08),transparent 55%),
    linear-gradient(#24855b,#0e5b3b);
  box-shadow:inset 0 0 14px rgba(0,0,0,.42),0 5px 8px rgba(0,0,0,.38);
}
.icon--snooker::after {
  content:"";
  position:absolute;
  left:57px;
  top:96px;
  width:112px;
  height:8px;
  border-radius:7px;
  background:linear-gradient(90deg,#f5d7a1,#8d5425);
  transform:rotate(-14deg);
  box-shadow:0 3px 4px rgba(0,0,0,.35);
}
.icon--snooker b,
.icon--snooker i {
  position:absolute;
  z-index:2;
  width:17px;
  height:17px;
  border-radius:50%;
  box-shadow:inset -3px -4px 5px rgba(0,0,0,.34),0 2px 3px rgba(0,0,0,.42);
}
.icon--snooker b { left:132px;top:49px;background:radial-gradient(circle at 31% 27%,#fff 0 18%,#d4d8d7 60%,#8f9898 100%); }
.icon--snooker i:nth-of-type(1),
.icon--snooker i:nth-of-type(2),
.icon--snooker i:nth-of-type(3),
.icon--snooker i:nth-of-type(4),
.icon--snooker i:nth-of-type(5) { background:radial-gradient(circle at 31% 27%,#ff7d84 0 9%,#c81522 28%,#710914 100%); }
.icon--snooker i:nth-of-type(1){left:65px;top:49px}
.icon--snooker i:nth-of-type(2){left:54px;top:40px}
.icon--snooker i:nth-of-type(3){left:54px;top:58px}
.icon--snooker i:nth-of-type(4){left:43px;top:31px}
.icon--snooker i:nth-of-type(5){left:43px;top:67px}
.classic-rush-ui .app--menu .icon--snooker::before { left:43px;top:25px;width:121px;height:73px; }
.classic-rush-ui .app--menu .icon--snooker::after { left:55px;top:103px; }

/* Отдельная атмосфера снукерного зала. */
.classic-rush-ui .app--snooker-table .table-area.table-area--pool {
  background:
    radial-gradient(ellipse at 50% 42%,rgba(229,255,228,.045),transparent 55%),
    repeating-radial-gradient(ellipse at 20% 30%,transparent 0 8px,rgba(228,238,225,.026) 9px 10px,transparent 11px 18px),
    linear-gradient(135deg,#405d51,#1d3c34 48%,#536b5c) !important;
}

/* Зелёное сукно и тёмное дерево, близко к полному видео партии. */
.app--pool-table.app--snooker-table .pool-felt-frame::before {
  border-color:#8d633a !important;
  background:
    linear-gradient(135deg,rgba(255,231,184,.34),transparent 20% 78%,rgba(255,230,175,.18)),
    linear-gradient(90deg,#4f2814,#8a4e27 16%,#4b2513 50%,#8a4e27 84%,#4a2312) !important;
  box-shadow:inset 0 0 0 1px rgba(255,236,194,.42),inset 0 -7px 11px rgba(30,10,3,.42),0 2px 5px rgba(0,0,0,.45) !important;
}
.app--pool-table.app--snooker-table .pool-felt {
  background:
    radial-gradient(ellipse at 47% 37%,rgba(155,225,172,.10),transparent 52%),
    repeating-linear-gradient(0deg,rgba(255,255,255,.009) 0 1px,transparent 1px 4px),
    linear-gradient(180deg,#23754d 0%,#17643f 49%,#0f5032 100%) !important;
  box-shadow:inset 0 0 34px rgba(0,31,15,.48),inset 0 0 0 1px rgba(214,255,225,.11) !important;
}
.app--pool-table.app--snooker-table .pool-felt::after { display:none !important; }
.app--pool-table.app--snooker-table .pool-rail--top::after,
.app--pool-table.app--snooker-table .pool-rail--bottom::after,
.app--pool-table.app--snooker-table .pool-rail--left::after,
.app--pool-table.app--snooker-table .pool-rail--right::after {
  background:linear-gradient(180deg,#4a9a6b,#176342 58%,#0c3e28) !important;
}
.app--pool-table.app--snooker-table .pool-rail-dots {
  box-shadow:
    105px 0 0 #d9bd70,210px 0 0 #d9bd70,370px 0 0 #d9bd70,475px 0 0 #d9bd70,580px 0 0 #d9bd70,
    0 390px 0 #d9bd70,105px 390px 0 #d9bd70,210px 390px 0 #d9bd70,370px 390px 0 #d9bd70,475px 390px 0 #d9bd70,580px 390px 0 #d9bd70,
    -87px 99px 0 #d9bd70,-87px 195px 0 #d9bd70,-87px 291px 0 #d9bd70,
    664px 99px 0 #d9bd70,664px 195px 0 #d9bd70,664px 291px 0 #d9bd70 !important;
}

/* Баулк-линия, D и точки точно привязаны к игровому сукну 717×359.
   Серверная геометрия: x=760, центр y=250, радиус D=92. */
.app--snooker-table .snooker-baulk-line,
.app--snooker-table .snooker-d-zone,
.app--snooker-table .snooker-spots {
  position:absolute;
  z-index:41;
  pointer-events:none;
}
.app--snooker-table .snooker-baulk-line {
  left:575px;
  top:29px;
  width:1px;
  height:359px;
  background:rgba(241,238,210,.64);
  box-shadow:0 0 1px rgba(0,0,0,.45);
}
.app--snooker-table .snooker-d-zone {
  left:509px;
  top:142.5px;
  width:132px;
  height:132px;
  box-sizing:border-box;
  border:1px solid rgba(241,238,210,.68);
  border-left-color:transparent;
  border-radius:50%;
  clip-path:inset(0 0 0 50%);
}
.app--snooker-table .snooker-spots { inset:0; }
.app--snooker-table .snooker-spots i {
  position:absolute;
  width:4px;
  height:4px;
  margin:-2px 0 0 -2px;
  border-radius:50%;
  background:rgba(245,235,196,.62);
  box-shadow:0 0 1px #173c27;
}
.app--snooker-table .snooker-spots .spot-black { left:177px;top:208.5px; }
.app--snooker-table .snooker-spots .spot-pink { left:313px;top:208.5px; }
.app--snooker-table .snooker-spots .spot-blue { left:388.5px;top:208.5px; }
.app--snooker-table .snooker-spots .spot-yellow { left:575px;top:147.5px; }
.app--snooker-table .snooker-spots .spot-brown { left:575px;top:208.5px; }
.app--snooker-table .snooker-spots .spot-green { left:575px;top:269.5px; }

/* Снукерные шары — меньше восьмёрочных, без номеров и полос. */
.app--snooker-table .pool-play-overlay .pool-ball {
  width:24px !important;
  height:24px !important;
  margin:-12px 0 0 -12px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:
    radial-gradient(circle at 29% 23%,rgba(255,255,255,.98) 0 7%,rgba(255,255,255,.48) 8% 13%,transparent 22%),
    radial-gradient(circle at 35% 31%,color-mix(in srgb,var(--ball-color,#c81522) 62%,white) 0 18%,var(--ball-color,#c81522) 48%,color-mix(in srgb,var(--ball-color,#c81522) 68%,black) 100%) !important;
  box-shadow:inset 3px 3px 5px rgba(255,255,255,.20),inset -5px -6px 8px rgba(0,0,0,.42),0 3px 4px rgba(0,0,0,.45) !important;
}
.app--snooker-table .pool-play-overlay .pool-ball--cue {
  background:radial-gradient(circle at 31% 25%,#fff 0 16%,#f2f2ea 49%,#b7bdb9 100%) !important;
}
.app--snooker-table .pool-play-overlay .pool-ball--snooker-21 {
  background:radial-gradient(circle at 29% 23%,#aeb2b0 0 6%,#2b2b2b 22%,#090909 58%,#000 100%) !important;
}
.app--snooker-table .pool-play-overlay .pool-ball-mark,
.app--snooker-table .pool-play-overlay .pool-ball-band { display:none !important; }

/* Центральное табло счёта, серии и очередного шара. */
.app--snooker-table .pool-potted-rack {
  padding:5px 6px 6px !important;
  background:radial-gradient(ellipse at 50% 0%,rgba(255,211,131,.17),transparent 52%),linear-gradient(180deg,#744023,#502616 44%,#2d130c 100%) !important;
}
.app--snooker-table .snooker-scoreboard {
  height:72px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 42px;
  align-items:stretch;
  gap:4px;
  color:#fff5d2;
  text-shadow:0 1px 1px #170603;
}
.app--snooker-table .snooker-score {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
  border:1px solid rgba(255,220,147,.28);
  border-radius:5px;
  background:rgba(20,7,3,.34);
}
.app--snooker-table .snooker-score small {
  width:100%;
  overflow:hidden;
  padding:0 2px;
  color:#d6ebdf;
  font:800 7px/10px Arial,sans-serif;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.app--snooker-table .snooker-score strong { color:#fff7a9;font:1000 24px/28px Arial,sans-serif; }
.app--snooker-table .snooker-scoreboard__middle { min-width:0;display:grid;grid-template-rows:22px 18px 18px;align-content:center; }
.app--snooker-table .snooker-scoreboard__balls { display:flex;align-items:center;justify-content:center;gap:2px; }
.app--snooker-table .snooker-scoreboard__balls i {
  width:17px;height:17px;display:grid;place-items:center;border-radius:50%;
  color:var(--snooker-dot);background:radial-gradient(circle at 30% 24%,#fff 0 7%,var(--snooker-dot) 28%,color-mix(in srgb,var(--snooker-dot) 67%,black) 100%);
  box-shadow:inset -2px -3px 4px rgba(0,0,0,.35),0 1px 2px rgba(0,0,0,.55);
}
.app--snooker-table .snooker-scoreboard__balls i span {
  width:9px;height:9px;display:grid;place-items:center;border-radius:50%;background:#f7f1de;color:#141414;font:1000 6px/9px Arial,sans-serif;text-shadow:none;
}
.app--snooker-table .snooker-scoreboard__target,
.app--snooker-table .snooker-scoreboard__break { overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center;font:800 8px/17px Arial,sans-serif; }
.app--snooker-table .snooker-scoreboard__target b { color:#fff46b; }
.app--snooker-table .snooker-scoreboard__break b { color:#8dff9f;font-size:11px; }
.app--snooker-table .snooker-scoreboard__break span { margin-left:4px;color:#b8d4c2; }

/* Серый биток-призрак остаётся заметным на зелёном сукне. */
.app--snooker-table .pool-cue-ghost { border-color:#edf4e9 !important;background:rgba(220,228,219,.46) !important; }
.app--snooker-table .pool-cue-ghost.is-invalid { border-color:#ff786f !important;background:rgba(211,55,47,.38) !important; }

/* V125 compact scoreboard fit for the classic 218 px top shelf. */
.app--snooker-table .snooker-scoreboard { grid-template-columns:34px minmax(0,1fr) 34px;gap:3px; }
.app--snooker-table .snooker-score strong { font-size:20px;line-height:24px; }
.app--snooker-table .snooker-scoreboard__balls { gap:2px; }
.app--snooker-table .snooker-scoreboard__balls i { width:15px;height:15px; }
.app--snooker-table .snooker-scoreboard__balls i span { width:8px;height:8px;font-size:5px;line-height:8px; }


/* ======================================================================
   V126 — главное меню: по 4 игры в ряд + настоящий вертикальный скролл
   ====================================================================== */
.classic-rush-ui .app--menu .game-grid--ten,
.game-grid--ten {
  left: 72px;
  top: 78px;
  width: 958px;
  height: 492px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 238px;
  grid-template-rows: none;
  column-gap: 0;
  row-gap: 10px;
  align-items: start;
  align-content: start;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0 8px 0 0;
  overscroll-behavior: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.game-grid--ten::-webkit-scrollbar { width: 0; height: 0; }
.game-grid--ten .game-card { height: 238px; min-width: 0; }
.classic-rush-ui .app--menu .game-grid--ten .game-card__plate,
.game-grid--ten .game-card__plate {
  left: 50%;
  top: 8px;
  width: 150px;
  height: 150px;
  transform: translateX(-50%);
}
.classic-rush-ui .app--menu .game-grid--ten .game-card__count,
.game-grid--ten .game-card__count { right: 27px; top: 0; font-size: 15px; }
.classic-rush-ui .app--menu .game-grid--ten .game-card h3,
.game-grid--ten .game-card h3 { top: 160px; font-size: 19px; line-height: 1.03; }

/* Правый декоративный элемент теперь является настоящим скроллбаром списка игр. */
.classic-rush-ui .app--menu .scroll-knob,
.app--menu .scroll-knob {
  right: 23px;
  top: 82px;
  width: 15px;
  height: 484px;
  border-radius: 12px;
  background: linear-gradient(90deg, #063d59, #075c82 48%, #04354e);
  border: 1px solid rgba(52, 196, 239, .42);
  box-shadow: inset 0 0 8px rgba(0,0,0,.45), 0 0 7px rgba(18,181,230,.19);
  opacity: .96;
  cursor: pointer;
  z-index: 8;
}
.classic-rush-ui .app--menu .scroll-knob b,
.app--menu .scroll-knob b {
  position: absolute;
  left: 1px;
  top: 0;
  bottom: auto;
  width: 11px;
  height: 120px;
  border-radius: 9px;
  background: linear-gradient(90deg, #0a83b4, #19b9e7 52%, #0877a5);
  border: 1px solid rgba(149,239,255,.5);
  box-shadow: inset 0 1px 3px rgba(255,255,255,.25), inset 0 -3px 5px rgba(0,30,47,.35), 0 0 7px rgba(16,190,239,.36);
  cursor: grab;
  touch-action: none;
}
.classic-rush-ui .app--menu .scroll-knob b:active,
.app--menu .scroll-knob b:active { cursor: grabbing; filter: brightness(1.12); }
.app--menu .scroll-knob.is-disabled { opacity: .34; pointer-events: none; }

/* V127: clickable game cards use the hand cursor across the whole tile. */
.classic-rush-ui .app--menu .game-card,
.classic-rush-ui .app--menu .game-card * {
  cursor: pointer;
}


/* v132: название бильярдного стола уже показано справа; верхний общий
   заголовок скрыт, чтобы не попадать под аватар и таймер левого игрока. */
.app--pool-table .table-title { display: none !important; }

/* =========================================================
   V134 — порядок статусов и единая длинная рамка в списках
   ========================================================= */

/* Собственная нижняя плашка ника опущена всего на один пиксель. Венок,
   баланс и плашки соперников не двигаются. */
.classic-rush-ui .profile-card > strong {
  transform: translateY(1px) !important;
}

/* В правой панели любого игрового стола Gold/Platinum-рамка начинается
   раньше и включает зелёный порядковый номер (1., 2., … 10.). Правый край
   остаётся на прежнем месте, поэтому расположение кнопок не меняется. */
.classic-rush-ui .room-list li.room-user-row:is(.status-vip-gold,.status-vip-platinum) {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 21px !important;
  padding-right: 2px !important;
}
.classic-rush-ui .room-list li.room-user-row:is(.status-vip-gold,.status-vip-platinum)::before {
  position: absolute !important;
  left: 2px !important;
  top: 0 !important;
  z-index: 25 !important;
  display: block !important;
  width: 17px !important;
  min-width: 17px !important;
  height: 24px !important;
  margin: 0 !important;
  line-height: 24px !important;
  text-align: right !important;
  pointer-events: none !important;
}

/* =========================================================
   V135 — общий чат, единые аватарки, панели шахмат и шашек
   ========================================================= */

/* В общем чате собственная нижняя плашка опущена ещё на 3 px:
   суммарное смещение относительно исходной версии теперь ровно 4 px. */
.classic-rush-ui .app--clubchat .profile-card > strong {
  transform: translateY(4px) !important;
}

/* Сообщения общего чата используют тот же Arial и тот же размер, что и
   сообщения в чатах игровых столов. Интервалы строк тоже выровнены. */
.classic-rush-ui .club-chat-history {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 16px !important;
}
.classic-rush-ui .club-chat-message {
  margin: 0 0 8px !important;
  line-height: normal !important;
  font-weight: 400 !important;
}
.classic-rush-ui .club-chat-message .chat-nick,
.classic-rush-ui .club-chat-message .club-chat-message__text {
  font: inherit !important;
  line-height: inherit !important;
  vertical-align: baseline !important;
}
.classic-rush-ui .club-chat-message .club-chat-message__text {
  color: inherit;
  text-shadow: inherit;
  user-select: text;
}

/* Во всех игровых режимах аватарка имеет одну форму: аккуратный квадрат
   со слегка скруглёнными углами. Размеры и расположение каждого режима
   не меняются — убирается только круглая форма. */
.classic-rush-ui .app--table :is(
  .poker-avatar,
  .durak-avatar,
  .pool-player-portrait,
  .chess-player-avatar,
  .checkers-player-avatar,
  .burkozel-seat__avatar,
  .backgammon-avatar
),
.classic-rush-ui .app--table :is(
  .poker-avatar,
  .durak-avatar,
  .pool-player-portrait,
  .chess-player-avatar,
  .checkers-player-avatar,
  .burkozel-seat__avatar,
  .backgammon-avatar
) > img {
  border-radius: 10px !important;
}
.classic-rush-ui .app--table .checkers-player-avatar:not(.has-image) {
  border-color: transparent !important;
  background-color: transparent !important;
  background-image: url("../assets/default-avatar.png") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: 86% auto !important;
  box-shadow: none !important;
  color: transparent !important;
}

/* Шахматы: как в длинных нардах — два отдельных места игроков слева,
   верхнее и нижнее. На каждой карточке постоянно виден оставшийся таймер. */
.classic-rush-ui .app--chess-table .chess-board-frame {
  left: 155px !important;
  top: 65px !important;
}
.classic-rush-ui .app--chess-table .chess-side-panel {
  left: 675px !important;
  top: 65px !important;
  width: 160px !important;
  height: 508px !important;
  grid-template-rows: 104px minmax(0, 1fr) !important;
  gap: 7px !important;
}
.classic-rush-ui .app--chess-table .chess-player-card {
  position: absolute !important;
  left: 9px !important;
  top: auto !important;
  z-index: 55 !important;
  width: 137px !important;
  min-height: 142px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 3px !important;
  padding: 8px 7px !important;
  text-align: center !important;
}
.classic-rush-ui .app--chess-table .chess-player-card--top { top: 65px !important; }
.classic-rush-ui .app--chess-table .chess-player-card--bottom { top: 431px !important; }
.classic-rush-ui .app--chess-table .chess-player-avatar-wrap {
  flex: 0 0 62px !important;
  width: 62px !important;
  height: 62px !important;
  margin: 0 auto 1px !important;
}
.classic-rush-ui .app--chess-table .chess-player-avatar,
.classic-rush-ui .app--chess-table .chess-player-avatar > img {
  width: 62px !important;
  height: 62px !important;
}
.classic-rush-ui .app--chess-table .chess-player-avatar-wrap .rank-wreath--chess {
  left: -10px !important;
  top: -10px !important;
  width: 82px !important;
  height: 82px !important;
}
.classic-rush-ui .app--chess-table .chess-player-copy {
  width: 100% !important;
  overflow: visible !important;
  text-align: center !important;
}
.classic-rush-ui .app--chess-table .chess-player-copy small,
.classic-rush-ui .app--chess-table .chess-player-copy span {
  font-size: 9px !important;
}
.classic-rush-ui .app--chess-table .chess-player-copy .chess-player-name,
.classic-rush-ui .app--chess-table .chess-player-copy > b {
  width: 100% !important;
  max-width: 100% !important;
  margin: 2px 0 !important;
  padding-left: 3px !important;
  padding-right: 3px !important;
  font-size: 12px !important;
  text-align: center !important;
}
.classic-rush-ui .app--chess-table .chess-clock {
  order: 4;
  min-width: 92px !important;
  margin-top: 2px !important;
  padding: 5px 7px !important;
  font-size: 18px !important;
}
.classic-rush-ui .app--chess-table .chess-player-card.is-empty .chess-player-avatar {
  color: transparent !important;
  background: rgba(4, 43, 57, .35) !important;
}
.classic-rush-ui .app--chess-table .chess-player-card.is-empty .chess-player-copy {
  min-height: 34px;
}
.classic-rush-ui .app--chess-table .chess-join-button {
  left: 681px !important;
  bottom: 12px !important;
  min-width: 150px !important;
}

/* Шашки получают ту же раскладку и те же места игроков, что шахматы. */
.classic-rush-ui .app--checkers-table .checkers-board-frame {
  left: 155px !important;
  top: 65px !important;
}
.classic-rush-ui .app--checkers-table .checkers-side-panel {
  left: 675px !important;
  top: 65px !important;
  width: 160px !important;
  height: 508px !important;
  grid-template-rows: 104px minmax(0, 1fr) !important;
  gap: 7px !important;
}
.classic-rush-ui .app--checkers-table .checkers-player-card {
  position: absolute !important;
  left: 9px !important;
  top: auto !important;
  z-index: 55 !important;
  width: 137px !important;
  min-height: 142px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 3px !important;
  padding: 8px 7px !important;
  text-align: center !important;
}
.classic-rush-ui .app--checkers-table .checkers-player-card--top { top: 65px !important; }
.classic-rush-ui .app--checkers-table .checkers-player-card--bottom { top: 431px !important; }
.classic-rush-ui .app--checkers-table .checkers-player-avatar-wrap {
  flex: 0 0 62px !important;
  width: 62px !important;
  height: 62px !important;
  margin: 0 auto 1px !important;
}
.classic-rush-ui .app--checkers-table .checkers-player-avatar,
.classic-rush-ui .app--checkers-table .checkers-player-avatar > img {
  width: 62px !important;
  height: 62px !important;
}
.classic-rush-ui .app--checkers-table .checkers-player-avatar-wrap .rank-wreath--checkers {
  left: -10px !important;
  top: -10px !important;
  width: 82px !important;
  height: 82px !important;
}
.classic-rush-ui .app--checkers-table .checkers-player-copy {
  width: 100% !important;
  overflow: visible !important;
  text-align: center !important;
}
.classic-rush-ui .app--checkers-table .checkers-player-copy small,
.classic-rush-ui .app--checkers-table .checkers-player-copy span {
  font-size: 9px !important;
}
.classic-rush-ui .app--checkers-table .checkers-player-copy .checkers-player-name,
.classic-rush-ui .app--checkers-table .checkers-player-copy > b {
  width: 100% !important;
  max-width: 100% !important;
  margin: 2px 0 !important;
  padding-left: 3px !important;
  padding-right: 3px !important;
  font-size: 12px !important;
  text-align: center !important;
}
.classic-rush-ui .app--checkers-table .checkers-clock {
  order: 4;
  min-width: 92px !important;
  margin-top: 2px !important;
  padding: 5px 7px !important;
  font-size: 18px !important;
}
.classic-rush-ui .app--checkers-table .checkers-player-card.is-empty .checkers-player-avatar {
  color: transparent !important;
  background: rgba(4, 43, 57, .35) !important;
}
.classic-rush-ui .app--checkers-table .checkers-player-card.is-empty .checkers-player-copy {
  min-height: 34px;
}
.classic-rush-ui .app--checkers-table .checkers-join-button {
  left: 681px !important;
  bottom: 12px !important;
  min-width: 150px !important;
}

/* =========================================================
   v136 — широкие доски и компактная информация в шахматах/шашках
   ========================================================= */
/* Правая внутренняя колонка убрана. Освободившееся место отдаётся доске,
   а ставка, банк и текущий ход собраны в небольшой блок между игроками. */
.classic-rush-ui .app--chess-table .chess-side-panel,
.classic-rush-ui .app--checkers-table .checkers-side-panel {
  display: none !important;
}

.classic-rush-ui .app--chess-table .chess-board-frame,
.classic-rush-ui .app--checkers-table .checkers-board-frame {
  left: 152px !important;
  top: 52px !important;
  width: 556px !important;
  height: 556px !important;
}
.classic-rush-ui .app--chess-table .chess-board,
.classic-rush-ui .app--checkers-table .checkers-board {
  width: 544px !important;
  height: 544px !important;
  grid-template-columns: repeat(8, 68px) !important;
  grid-template-rows: repeat(8, 68px) !important;
}
.classic-rush-ui .app--chess-table .chess-square,
.classic-rush-ui .app--checkers-table .checkers-square {
  width: 68px !important;
  height: 68px !important;
}
.classic-rush-ui .app--chess-table .chess-piece {
  width: 64px !important;
  height: 64px !important;
}
.classic-rush-ui .app--chess-table .chess-piece-svg {
  width: 60px !important;
  height: 66px !important;
  max-width: 92% !important;
  max-height: 96% !important;
}
.classic-rush-ui .app--checkers-table .checkers-piece {
  width: 55px !important;
  height: 55px !important;
}

/* Фотографии игроков в карточках используют тот же режим заполнения,
   что и аватарки остальных игровых столов. */
.classic-rush-ui .app--chess-table .chess-player-avatar.has-image,
.classic-rush-ui .app--checkers-table .checkers-player-avatar.has-image {
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

/* Левая колонка игроков остаётся как в нардах. */
.classic-rush-ui .app--chess-table .chess-player-card,
.classic-rush-ui .app--checkers-table .checkers-player-card {
  width: 137px !important;
  min-height: 154px !important;
  padding: 7px 6px 8px !important;
}
.classic-rush-ui .app--chess-table .chess-player-card--top,
.classic-rush-ui .app--checkers-table .checkers-player-card--top {
  top: 49px !important;
}
.classic-rush-ui .app--chess-table .chess-player-card--bottom,
.classic-rush-ui .app--checkers-table .checkers-player-card--bottom {
  top: 430px !important;
}

/* Основное время и обязательные +5 секунд видны одновременно. */
.classic-rush-ui .app--chess-table .chess-clock,
.classic-rush-ui .app--checkers-table .checkers-clock {
  order: 4;
  box-sizing: border-box;
  min-width: 102px !important;
  margin-top: 2px !important;
  padding: 4px 7px 3px !important;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  line-height: 1 !important;
}
.classic-rush-ui .app--chess-table .chess-clock > b,
.classic-rush-ui .app--checkers-table .checkers-clock > b {
  display: block;
  color: inherit;
  font: 1000 18px/1 Arial, sans-serif;
  letter-spacing: -.4px;
}
.classic-rush-ui .app--chess-table .chess-clock > small,
.classic-rush-ui .app--checkers-table .checkers-clock > small {
  display: block;
  margin-top: 1px;
  color: inherit;
  font: 900 8px/1 Arial, sans-serif;
  letter-spacing: 0;
  white-space: nowrap;
  opacity: .88;
}

.classic-rush-ui .app--chess-table .chess-compact-info,
.classic-rush-ui .app--checkers-table .checkers-compact-info {
  position: absolute;
  left: 9px;
  top: 254px;
  z-index: 56;
  box-sizing: border-box;
  width: 137px;
  min-height: 106px;
  padding: 8px 8px 7px;
  border: 2px solid rgba(188,231,241,.5);
  border-radius: 13px;
  background: linear-gradient(180deg,rgba(10,69,79,.97),rgba(3,39,48,.98));
  box-shadow: 0 5px 10px rgba(0,0,0,.38), inset 0 1px rgba(255,255,255,.11);
}
.classic-rush-ui .app--chess-table .chess-compact-info > div,
.classic-rush-ui .app--checkers-table .checkers-compact-info > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  min-height: 19px;
  color: #a9d8e2;
  font: 800 10px/1 Arial, sans-serif;
}
.classic-rush-ui .app--chess-table .chess-compact-info > div b,
.classic-rush-ui .app--checkers-table .checkers-compact-info > div b {
  color: #fff;
  font-weight: 1000;
  white-space: nowrap;
}
.classic-rush-ui .app--chess-table .chess-compact-info p,
.classic-rush-ui .app--checkers-table .checkers-compact-info p {
  margin: 6px -2px 0;
  min-height: 28px;
  padding: 5px 4px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: rgba(0,0,0,.25);
  color: #dff7fb;
  font: 1000 10px/1.15 Arial, sans-serif;
  text-align: center;
}
.classic-rush-ui .app--chess-table .chess-compact-info p.is-my-turn,
.classic-rush-ui .app--checkers-table .checkers-compact-info p.is-my-turn {
  background: rgba(239,190,30,.28);
  color: #fff18a;
}

/* Кнопка посадки больше не занимает место удалённой правой панели. */
.classic-rush-ui .app--chess-table .chess-join-button,
.classic-rush-ui .app--checkers-table .checkers-join-button {
  left: 9px !important;
  bottom: 190px !important;
  min-width: 137px !important;
}

/* Нижняя мини-аватарка в шахматах и шашках поднята на три пикселя,
   ник и баланс остаются на прежних местах. */
.classic-rush-ui :is(.app--chess-table, .app--checkers-table) .profile-card .profile-avatar {
  top: -1px !important;
}
.classic-rush-ui :is(.app--chess-table, .app--checkers-table) .profile-card > .rank-wreath {
  top: -31px !important;
}


/* =========================================================
   v137 — ожидающий игрок виден, нижняя карточка выше
   ========================================================= */
/* Нижняя карточка шахмат/шашек больше не заходит на основную
   аватарку профиля в нижней панели. */
.classic-rush-ui .app--chess-table .chess-player-card--bottom,
.classic-rush-ui .app--checkers-table .checkers-player-card--bottom {
  top: 398px !important;
}

/* Модераторский черепок в правом списке стола всегда находится
   последней кнопкой справа, а не между порядковым номером и ником. */
.classic-rush-ui .room-list .room-user-actions .room-skull,
.room-list .room-user-actions .room-skull {
  order: 99 !important;
  flex: 0 0 15px !important;
}


/* =========================================================
   v138 — черепок модерации в игровом списке как в лобби
   ========================================================= */
/* В правом списке активного игрового стола под действия всегда выделена
   отдельная фиксированная область. Ник заканчивается до неё и не может
   оказаться под черепком даже при длинном имени. */
.classic-rush-ui .room-list li.room-user-row,
.room-list li.room-user-row {
  grid-template-columns: 17px minmax(0, 1fr) 64px !important;
  column-gap: 2px !important;
}
.classic-rush-ui .room-list li.room-user-row > span.room-user-actions,
.room-list li.room-user-row > span.room-user-actions {
  position: static !important;
  grid-column: 3 !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 1px !important;
  transform: none !important;
  overflow: visible !important;
}
/* Порядок полностью повторяет списки лобби и общего чата:
   черепок, плюс, конверт, профиль. */
.classic-rush-ui .room-list .room-user-actions .room-skull,
.room-list .room-user-actions .room-skull {
  order: 0 !important;
  flex: 0 0 15px !important;
  width: 15px !important;
  min-width: 15px !important;
  height: 15px !important;
  margin: 0 !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-name,
.room-list li.room-user-row > .room-user-name {
  grid-column: 2 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}


/* =========================================================
   v139 — черепок без наложения, пас без вскрытия, тёмный ник меню
   ========================================================= */
/* Правая панель активного стола: номер, ник и действия всегда являются
   тремя отдельными колонками. Более старые Gold/Platinum-правила имели
   повышенную специфичность и иногда помещали ник и черепок в одну колонку. */
.classic-rush-ui .room-list li.room-user-row,
.classic-rush-ui .room-list li.room-user-row.status-vip-gold,
.classic-rush-ui .room-list li.room-user-row.status-vip-platinum,
.room-list li.room-user-row,
.room-list li.room-user-row.status-vip-gold,
.room-list li.room-user-row.status-vip-platinum {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 17px minmax(0, 1fr) 64px !important;
  align-items: center !important;
  column-gap: 2px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 24px !important;
  min-height: 24px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 1px !important;
  padding-right: 1px !important;
  overflow: visible !important;
}
.classic-rush-ui .room-list li.room-user-row::before,
.classic-rush-ui .room-list li.room-user-row.status-vip-gold::before,
.classic-rush-ui .room-list li.room-user-row.status-vip-platinum::before,
.room-list li.room-user-row::before,
.room-list li.room-user-row.status-vip-gold::before,
.room-list li.room-user-row.status-vip-platinum::before {
  position: static !important;
  grid-column: 1 !important;
  align-self: center !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 17px !important;
  min-width: 17px !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 20px !important;
  text-align: right !important;
  pointer-events: none !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-name,
.classic-rush-ui .room-list li.room-user-row.status-vip-gold > .room-user-name,
.classic-rush-ui .room-list li.room-user-row.status-vip-platinum > .room-user-name,
.room-list li.room-user-row > .room-user-name,
.room-list li.room-user-row.status-vip-gold > .room-user-name,
.room-list li.room-user-row.status-vip-platinum > .room-user-name {
  position: relative !important;
  grid-column: 2 !important;
  z-index: 3 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-left: 3px !important;
  padding-right: 3px !important;
  overflow: hidden !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-actions,
.classic-rush-ui .room-list li.room-user-row.status-vip-gold > .room-user-actions,
.classic-rush-ui .room-list li.room-user-row.status-vip-platinum > .room-user-actions,
.room-list li.room-user-row > .room-user-actions,
.room-list li.room-user-row.status-vip-gold > .room-user-actions,
.room-list li.room-user-row.status-vip-platinum > .room-user-actions {
  position: static !important;
  grid-column: 3 !important;
  z-index: 40 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  box-sizing: border-box !important;
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 1px !important;
  transform: none !important;
  overflow: visible !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-actions > .room-skull,
.room-list li.room-user-row > .room-user-actions > .room-skull {
  order: -1 !important;
  position: static !important;
  flex: 0 0 15px !important;
  width: 15px !important;
  min-width: 15px !important;
  height: 15px !important;
  margin: 0 !important;
  transform: none !important;
}

/* В главном меню нижняя Platinum-плашка ника получает ту же тёмную заливку,
   что и в снукере: без яркого белого отражения внутри. */
.classic-rush-ui .app--menu .profile-card > strong,
.classic-rush-ui .app--menu .profile-card.status-vip-platinum > strong,
.classic-rush-ui .app--menu .profile-card.status-vip-gold > strong {
  background: #0c2c3d !important;
  background-image: none !important;
  background-size: 100% 100% !important;
  animation: none !important;
  filter: none !important;
  box-shadow:
    0 2px 4px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -1px 0 rgba(4,24,35,.62) !important;
}


/* =========================================================
   v140 — ровная молния, тёмные плашки, статусы Дурака и наблюдатель Буркозла
   ========================================================= */

/* В правой панели стола молния модератора имеет собственную одинаковую
   колонку сразу после зелёного номера. Пустое место резервируется и для
   обычных игроков, поэтому ник всегда остаётся строго по центру. */
.classic-rush-ui .room-list li.room-user-row,
.classic-rush-ui .room-list li.room-user-row.status-vip-gold,
.classic-rush-ui .room-list li.room-user-row.status-vip-platinum,
.room-list li.room-user-row,
.room-list li.room-user-row.status-vip-gold,
.room-list li.room-user-row.status-vip-platinum {
  display: grid !important;
  grid-template-columns: 17px 15px minmax(0, 1fr) 64px !important;
  column-gap: 1px !important;
  padding-left: 1px !important;
  padding-right: 1px !important;
}
.classic-rush-ui .room-list li.room-user-row::before,
.classic-rush-ui .room-list li.room-user-row.status-vip-gold::before,
.classic-rush-ui .room-list li.room-user-row.status-vip-platinum::before,
.room-list li.room-user-row::before,
.room-list li.room-user-row.status-vip-gold::before,
.room-list li.room-user-row.status-vip-platinum::before {
  grid-column: 1 !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-bolt,
.room-list li.room-user-row > .room-user-bolt {
  position: relative !important;
  grid-column: 2 !important;
  z-index: 30 !important;
  display: grid !important;
  place-items: center !important;
  box-sizing: border-box !important;
  width: 15px !important;
  min-width: 15px !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  pointer-events: none !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-bolt .nick-bolt,
.room-list li.room-user-row > .room-user-bolt .nick-bolt {
  position: static !important;
  display: block !important;
  width: 13px !important;
  height: 17px !important;
  margin: 0 !important;
  transform: rotate(-8deg) !important;
  font-size: 14px !important;
  line-height: 17px !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-name,
.classic-rush-ui .room-list li.room-user-row.status-vip-gold > .room-user-name,
.classic-rush-ui .room-list li.room-user-row.status-vip-platinum > .room-user-name,
.room-list li.room-user-row > .room-user-name,
.room-list li.room-user-row.status-vip-gold > .room-user-name,
.room-list li.room-user-row.status-vip-platinum > .room-user-name {
  grid-column: 3 !important;
  justify-content: center !important;
  padding-left: 3px !important;
  padding-right: 3px !important;
  text-align: center !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-name .nick-bolt,
.room-list li.room-user-row > .room-user-name .nick-bolt {
  display: none !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-actions,
.classic-rush-ui .room-list li.room-user-row.status-vip-gold > .room-user-actions,
.classic-rush-ui .room-list li.room-user-row.status-vip-platinum > .room-user-actions,
.room-list li.room-user-row > .room-user-actions,
.room-list li.room-user-row.status-vip-gold > .room-user-actions,
.room-list li.room-user-row.status-vip-platinum > .room-user-actions {
  grid-column: 4 !important;
}

/* Белое отражение убрано не только в главном меню, но и во всех комнатах.
   Металлическая и золотая окантовка статуса при этом сохраняется. */
.classic-rush-ui .profile-card > strong {
  background: #0c2c3d !important;
  background-image: none !important;
  background-size: 100% 100% !important;
  animation: none !important;
  filter: none !important;
  transform: translateY(0) !important;
  box-shadow:
    0 2px 4px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -1px 0 rgba(4,24,35,.62) !important;
}
.classic-rush-ui .profile-card.status-vip-gold > strong {
  border: 2px solid transparent !important;
  background:
    linear-gradient(#0c2c3d,#0c2c3d) padding-box,
    linear-gradient(105deg,#8a5a00,#fff2a0 18%,#d99700 36%,#fff5b7 54%,#8b5900 75%,#ffd34a) border-box !important;
  background-size: 100% 100%, 260% 100% !important;
}
.classic-rush-ui .profile-card.status-vip-platinum > strong {
  border: 2px solid transparent !important;
  background:
    linear-gradient(#0c2c3d,#0c2c3d) padding-box,
    linear-gradient(104deg,#54636a 0%,#edfaff 13%,#788b93 24%,#ffffff 39%,#5c717b 53%,#dff8ff 69%,#6b7d85 82%,#ffffff 100%) border-box !important;
  background-size: 100% 100%, 320% 100% !important;
}
/* В общем чате плашка остаётся чуть ниже остальных экранов, но больше не
   заходит так глубоко на чёрную область баланса. */
.classic-rush-ui .app--clubchat .profile-card > strong {
  transform: translateY(2px) !important;
}
/* Круглая кнопка личного кабинета немного отведена вправо от рамки баланса. */
.classic-rush-ui .small-cabinet,
.classic-rush-ui.app-is-guest .small-cabinet,
.classic-rush-ui .app.is-guest .small-cabinet {
  left: 162px !important;
}

/* Во всех вариантах Дурака цвет рамки ника строго соответствует статусу:
   Platinum — серебристая, Gold — золотая. */
.classic-rush-ui .app--durak-table .durak-seat > b.seat-nick.status-vip-platinum {
  border: 2px solid transparent !important;
  background:
    linear-gradient(180deg,#173a4a 0%,#0b2634 48%,#061a25 52%,#102f3f 100%) padding-box,
    linear-gradient(104deg,#54636a 0%,#edfaff 13%,#788b93 24%,#ffffff 39%,#5c717b 53%,#dff8ff 69%,#6b7d85 82%,#ffffff 100%) border-box !important;
  background-size: 100% 100%, 320% 100% !important;
  color: #f2f8fb !important;
  -webkit-text-fill-color: #f2f8fb !important;
  box-shadow:
    0 2px 4px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.32),
    inset 0 -1px 0 rgba(4,24,35,.55) !important;
}
.classic-rush-ui .app--durak-table .durak-seat > b.seat-nick.status-vip-gold {
  border: 2px solid transparent !important;
  background:
    linear-gradient(180deg,#173a4a 0%,#0b2634 48%,#061a25 52%,#102f3f 100%) padding-box,
    linear-gradient(105deg,#8a5a00,#fff2a0 18%,#d99700 36%,#fff5b7 54%,#8b5900 75%,#ffd34a) border-box !important;
  background-size: 100% 100%, 260% 100% !important;
  color: #fff4a2 !important;
  -webkit-text-fill-color: #fff4a2 !important;
}

/* В режиме наблюдателя первый игрок Буркозла располагается сверху, а не
   под кнопкой посадки и нижней панелью. Кнопка находится в свободном
   промежутке сразу под столом. */
.classic-rush-ui .app--burkozel-table .burkozel-join-button {
  bottom: -44px !important;
  z-index: 220 !important;
}


/* =========================================================
   v141 — вернуть молнию, поднять нижний ник и восстановить Platinum-кант
   ========================================================= */

/* В игровом списке возвращаем прежнюю маленькую розовую молнию внутрь
   плашки ника. Она абсолютная: ник остаётся строго по центру и не сдвигается. */
.classic-rush-ui .room-list li.room-user-row,
.classic-rush-ui .room-list li.room-user-row.status-vip-gold,
.classic-rush-ui .room-list li.room-user-row.status-vip-platinum,
.room-list li.room-user-row,
.room-list li.room-user-row.status-vip-gold,
.room-list li.room-user-row.status-vip-platinum {
  grid-template-columns: 17px minmax(0, 1fr) 64px !important;
  column-gap: 2px !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-bolt,
.room-list li.room-user-row > .room-user-bolt {
  display: none !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-name,
.classic-rush-ui .room-list li.room-user-row.status-vip-gold > .room-user-name,
.classic-rush-ui .room-list li.room-user-row.status-vip-platinum > .room-user-name,
.room-list li.room-user-row > .room-user-name,
.room-list li.room-user-row.status-vip-gold > .room-user-name,
.room-list li.room-user-row.status-vip-platinum > .room-user-name {
  position: relative !important;
  grid-column: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding-left: 3px !important;
  padding-right: 3px !important;
  text-align: center !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-name .nick-bolt,
.room-list li.room-user-row > .room-user-name .nick-bolt {
  position: absolute !important;
  left: 4px !important;
  top: 50% !important;
  z-index: 80 !important;
  display: block !important;
  width: 9px !important;
  min-width: 9px !important;
  height: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  transform: translateY(-50%) rotate(-4deg) !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-actions,
.classic-rush-ui .room-list li.room-user-row.status-vip-gold > .room-user-actions,
.classic-rush-ui .room-list li.room-user-row.status-vip-platinum > .room-user-actions,
.room-list li.room-user-row > .room-user-actions,
.room-list li.room-user-row.status-vip-gold > .room-user-actions,
.room-list li.room-user-row.status-vip-platinum > .room-user-actions {
  grid-column: 3 !important;
}

/* Кнопка личного кабинета действительно уходит вправо и больше не касается
   чёрной рамки баланса. */
.classic-rush-ui .small-cabinet,
.classic-rush-ui .app.is-guest .small-cabinet {
  left: 194px !important;
}

/* В самих играх положение нижней плашки не меняем. Поднимаем её только
   в главном меню, игровых лобби и общем чате. */
.classic-rush-ui .app--menu .profile-card > strong,
.classic-rush-ui .app--lobby .profile-card > strong {
  transform: translateY(-3px) !important;
}
.classic-rush-ui .app--clubchat .profile-card > strong {
  transform: translateY(-4px) !important;
}

/* После удаления белой заливки возвращаем хорошо заметную металлическую
   Platinum-окантовку на нижнюю плашку вне игровых столов. Внутри остаётся
   спокойная тёмная заливка без белого отражения. */
.classic-rush-ui :is(.app--menu, .app--lobby, .app--clubchat)
.profile-card.status-vip-platinum > strong {
  box-sizing: border-box !important;
  border: 3px solid transparent !important;
  background:
    linear-gradient(#0c2c3d,#0c2c3d) padding-box,
    linear-gradient(108deg,#53656e 0%,#f9ffff 14%,#81959e 28%,#ffffff 43%,#60747e 58%,#e8fbff 76%,#758a94 89%,#ffffff 100%) border-box !important;
  background-size: 100% 100%, 180% 100% !important;
  background-position: 0 0, 50% 0 !important;
  box-shadow:
    0 0 0 1px rgba(111,137,148,.95),
    0 0 7px rgba(218,248,255,.7),
    0 2px 4px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 -1px 0 rgba(4,24,35,.62) !important;
}

/* =========================================================
   v142 — одинаковые игровые карточки и симметричный список игроков
   ========================================================= */

/* Правая панель игрового стола устроена так же симметрично, как список
   общего чата: слева служебная область с номером и молнией, справа область
   кнопок той же ширины, а псевдоним занимает отдельный центральный столбец. */
.classic-rush-ui .room-list li.room-user-row,
.classic-rush-ui .room-list li.room-user-row.status-vip-gold,
.classic-rush-ui .room-list li.room-user-row.status-vip-platinum,
.room-list li.room-user-row,
.room-list li.room-user-row.status-vip-gold,
.room-list li.room-user-row.status-vip-platinum {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) 64px !important;
  align-items: center !important;
  column-gap: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 1px !important;
}
.classic-rush-ui .room-list li.room-user-row::before,
.classic-rush-ui .room-list li.room-user-row.status-vip-gold::before,
.classic-rush-ui .room-list li.room-user-row.status-vip-platinum::before,
.room-list li.room-user-row::before,
.room-list li.room-user-row.status-vip-gold::before,
.room-list li.room-user-row.status-vip-platinum::before {
  position: absolute !important;
  left: 3px !important;
  top: 50% !important;
  z-index: 60 !important;
  width: 19px !important;
  min-width: 19px !important;
  height: 20px !important;
  margin: 0 !important;
  line-height: 20px !important;
  text-align: left !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-leading,
.room-list li.room-user-row > .room-user-leading {
  position: relative !important;
  grid-column: 1 !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 64px !important;
  min-width: 64px !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  pointer-events: none !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-leading > .nick-bolt,
.room-list li.room-user-row > .room-user-leading > .nick-bolt {
  position: absolute !important;
  left: 24px !important;
  top: 50% !important;
  z-index: 80 !important;
  display: block !important;
  width: 12px !important;
  min-width: 12px !important;
  height: 17px !important;
  margin: 0 !important;
  transform: translateY(-50%) rotate(-7deg) !important;
  font-size: 14px !important;
  line-height: 17px !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-name,
.classic-rush-ui .room-list li.room-user-row.status-vip-gold > .room-user-name,
.classic-rush-ui .room-list li.room-user-row.status-vip-platinum > .room-user-name,
.room-list li.room-user-row > .room-user-name,
.room-list li.room-user-row.status-vip-gold > .room-user-name,
.room-list li.room-user-row.status-vip-platinum > .room-user-name {
  grid-column: 2 !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 3px !important;
  text-align: center !important;
  overflow: hidden !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-name > .status-nick__label,
.room-list li.room-user-row > .room-user-name > .status-nick__label {
  width: 100% !important;
  text-align: center !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-name .nick-bolt,
.room-list li.room-user-row > .room-user-name .nick-bolt {
  display: none !important;
}
.classic-rush-ui .room-list li.room-user-row > .room-user-actions,
.classic-rush-ui .room-list li.room-user-row.status-vip-gold > .room-user-actions,
.classic-rush-ui .room-list li.room-user-row.status-vip-platinum > .room-user-actions,
.room-list li.room-user-row > .room-user-actions,
.room-list li.room-user-row.status-vip-gold > .room-user-actions,
.room-list li.room-user-row.status-vip-platinum > .room-user-actions {
  grid-column: 3 !important;
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  justify-content: flex-end !important;
}

/* Одна и та же компактная плашка ника используется на игровых местах
   покера, всех вариантов Дурака, бильярда, снукера, Буркозла,
   шахмат/шашек и длинных нард. Молния декоративная и никогда не двигает текст. */
.classic-rush-ui .game-player-nameplate,
.game-player-nameplate {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 132px !important;
  min-width: 0 !important;
  min-height: 24px !important;
  margin: 1px auto !important;
  padding: 2px 18px !important;
  border: 2px solid #cdefff !important;
  border-radius: 7px !important;
  background: linear-gradient(180deg,#173f52 0%,#0b2b3b 52%,#061d29 100%) !important;
  color: #f5fbff !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 950 !important;
  line-height: 16px !important;
  text-align: center !important;
  text-shadow: 0 2px 1px #000 !important;
  box-shadow: 0 2px 4px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.16) !important;
  overflow: hidden !important;
}
.classic-rush-ui .game-player-nameplate > .seat-nick__label,
.classic-rush-ui .game-player-nameplate > .status-nick__label,
.game-player-nameplate > .seat-nick__label,
.game-player-nameplate > .status-nick__label {
  position: relative !important;
  z-index: 4 !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.classic-rush-ui .game-player-nameplate > .nick-bolt,
.game-player-nameplate > .nick-bolt {
  position: absolute !important;
  left: 6px !important;
  top: 50% !important;
  z-index: 8 !important;
  display: block !important;
  width: 10px !important;
  min-width: 10px !important;
  height: 16px !important;
  margin: 0 !important;
  transform: translateY(-50%) rotate(-7deg) !important;
  font-size: 13px !important;
  line-height: 16px !important;
}
.classic-rush-ui .game-player-nameplate.status-club,
.game-player-nameplate.status-club {
  border-color: #55d9ff !important;
  color: #73e8ff !important;
}
.classic-rush-ui .game-player-nameplate.status-vip,
.game-player-nameplate.status-vip {
  border-color: #c16cff !important;
  color: #e19aff !important;
}
.classic-rush-ui .game-player-nameplate.status-vip-gold,
.game-player-nameplate.status-vip-gold {
  border: 2px solid transparent !important;
  background:
    linear-gradient(180deg,#173f52 0%,#0b2b3b 52%,#061d29 100%) padding-box,
    linear-gradient(105deg,#8a5a00,#fff2a0 18%,#d99700 36%,#fff5b7 54%,#8b5900 75%,#ffd34a) border-box !important;
  color: #fff0a0 !important;
}
.classic-rush-ui .game-player-nameplate.status-vip-platinum,
.game-player-nameplate.status-vip-platinum {
  border: 2px solid transparent !important;
  background:
    linear-gradient(180deg,#173f52 0%,#0b2b3b 52%,#061d29 100%) padding-box,
    linear-gradient(104deg,#54636a 0%,#edfaff 13%,#788b93 24%,#ffffff 39%,#5c717b 53%,#dff8ff 69%,#6b7d85 82%,#ffffff 100%) border-box !important;
  color: #f5fbff !important;
}

/* В карточке длинных нард и в боковых карточках шахмат ширина ограничивается
   фактической колонкой, а внешний <b> не добавляет лишнюю геометрию. */
.classic-rush-ui .backgammon-player__info > b,
.classic-rush-ui .chess-player-copy > b {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.classic-rush-ui .backgammon-player__info .game-player-nameplate,
.classic-rush-ui .chess-player-copy .game-player-nameplate {
  max-width: 100% !important;
}

/* Аватарки игровых мест используют одну квадратную форму, как в карточке
   длинных нард. Размеры конкретной игры не меняются, чтобы не сдвигать стол. */
.classic-rush-ui :is(.poker-avatar,.durak-avatar,.pool-player-portrait,.burkozel-seat__avatar,.chess-player-avatar,.backgammon-avatar) {
  box-sizing: border-box !important;
  border-radius: 12px !important;
  border-color: #cdefff !important;
  background-position: center !important;
  background-size: cover !important;
}

/* v142 hotfix: старые :has()-правила Gold/Platinum не должны менять
   симметричную трёхколоночную сетку новой строки. */
body.classic-rush-ui #app .room-list li.room-user-row,
body.classic-rush-ui #app .room-list li.room-user-row:is(.status-vip-gold,.status-vip-platinum),
body.classic-rush-ui #app .room-list li.room-user-row:has(.room-user-actions .room-skull),
body.classic-rush-ui #app .room-list li.room-user-row:is(.status-vip-gold,.status-vip-platinum):has(.room-user-actions .room-skull) {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  grid-template-columns: 64px minmax(0,1fr) 64px !important;
  column-gap: 0 !important;
}
body.classic-rush-ui #app .room-list li.room-user-row:is(.status-vip-gold,.status-vip-platinum)::before {
  left: 3px !important;
  top: 50% !important;
  width: 19px !important;
  height: 20px !important;
  line-height: 20px !important;
  transform: translateY(-50%) !important;
}
body.classic-rush-ui #app .room-list li.room-user-row > .room-user-actions,
body.classic-rush-ui #app .room-list li.room-user-row:has(.room-user-actions .room-skull) > .room-user-actions {
  box-sizing: border-box !important;
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
}

/* Высокоспецифичные старые стили отдельных игр больше не меняют общую
   геометрию новой плашки. */
body.classic-rush-ui #app :is(
  .poker-seat,
  .durak-seat,
  .pool-player-card,
  .pool-player-badge,
  .burkozel-seat,
  .backgammon-player,
  .chess-player-card
) .game-player-nameplate {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 132px !important;
  min-width: 0 !important;
  min-height: 24px !important;
  margin: 1px auto !important;
  padding: 2px 18px !important;
  border-radius: 7px !important;
  text-align: center !important;
  overflow: hidden !important;
}
body.classic-rush-ui #app :is(
  .poker-seat,
  .durak-seat,
  .pool-player-card,
  .pool-player-badge,
  .burkozel-seat,
  .backgammon-player,
  .chess-player-card
) .game-player-nameplate > .nick-bolt {
  position: absolute !important;
  left: 6px !important;
  top: 50% !important;
  z-index: 80 !important;
  display: block !important;
  margin: 0 !important;
  transform: translateY(-50%) rotate(-7deg) !important;
}
body.classic-rush-ui #app :is(
  .poker-seat,
  .durak-seat,
  .pool-player-card,
  .pool-player-badge,
  .burkozel-seat,
  .backgammon-player,
  .chess-player-card
) .game-player-nameplate.status-vip-gold {
  border: 2px solid transparent !important;
  background:
    linear-gradient(180deg,#173f52 0%,#0b2b3b 52%,#061d29 100%) padding-box,
    linear-gradient(105deg,#8a5a00,#fff2a0 18%,#d99700 36%,#fff5b7 54%,#8b5900 75%,#ffd34a) border-box !important;
  color: #fff0a0 !important;
  -webkit-text-fill-color: #fff0a0 !important;
}
body.classic-rush-ui #app :is(
  .poker-seat,
  .durak-seat,
  .pool-player-card,
  .pool-player-badge,
  .burkozel-seat,
  .backgammon-player,
  .chess-player-card
) .game-player-nameplate.status-vip-platinum {
  border: 2px solid transparent !important;
  background:
    linear-gradient(180deg,#173f52 0%,#0b2b3b 52%,#061d29 100%) padding-box,
    linear-gradient(104deg,#54636a 0%,#edfaff 13%,#788b93 24%,#ffffff 39%,#5c717b 53%,#dff8ff 69%,#6b7d85 82%,#ffffff 100%) border-box !important;
  color: #f5fbff !important;
  -webkit-text-fill-color: #f5fbff !important;
}

/* =========================================================
   v143 — ровные венки, нижняя карточка бильярда и ТОП
   ========================================================= */

/* Дурак: аватар находится строго по центру места шириной 145 px. Венок и
   поле его частиц теперь имеют тот же центр, как у аккуратного места покера. */
body.classic-rush-ui #app.app--durak-table .durak-seat {
  --rank-wreath-left: -8px;
  --rank-wreath-top: -52px;
  --rank-wreath-bottom: auto;
  --rank-wreath-width: 160px;
  --rank-wreath-height: 129px;
  overflow: visible !important;
}
body.classic-rush-ui #app.app--durak-table .durak-seat > :is(.rank-wreath--durak,.platinum-sparks--wreath) {
  position: absolute !important;
  left: var(--rank-wreath-left) !important;
  top: var(--rank-wreath-top) !important;
  bottom: var(--rank-wreath-bottom) !important;
  width: var(--rank-wreath-width) !important;
  height: var(--rank-wreath-height) !important;
  margin: 0 !important;
  transform: none !important;
  transform-origin: 50% 50% !important;
  pointer-events: none !important;
}
body.classic-rush-ui #app.app--durak-table .durak-seat > .rank-wreath--durak { z-index: 1 !important; }
body.classic-rush-ui #app.app--durak-table .durak-seat.status-vip-platinum > .platinum-sparks--wreath {
  display: block !important;
  z-index: 70 !important;
}

/* Буркозёл: используем точно такую же геометрию вокруг аватарки 52 × 52,
   как в идеальной боковой карточке шашек. Правая и левая ветви симметричны. */
body.classic-rush-ui #app.app--burkozel-table .burkozel-seat {
  --rank-wreath-left: -8px;
  --rank-wreath-top: -10px;
  --rank-wreath-bottom: auto;
  --rank-wreath-width: 82px;
  --rank-wreath-height: 82px;
  overflow: visible !important;
  isolation: isolate !important;
}
body.classic-rush-ui #app.app--burkozel-table .burkozel-seat > :is(.rank-wreath--burkozel,.platinum-sparks--wreath) {
  position: absolute !important;
  left: var(--rank-wreath-left) !important;
  top: var(--rank-wreath-top) !important;
  bottom: var(--rank-wreath-bottom) !important;
  width: var(--rank-wreath-width) !important;
  height: var(--rank-wreath-height) !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  transform-origin: 50% 50% !important;
  clip-path: none !important;
  -webkit-clip-path: none !important;
  pointer-events: none !important;
}
body.classic-rush-ui #app.app--burkozel-table .burkozel-seat > .rank-wreath--burkozel { z-index: 1 !important; }
body.classic-rush-ui #app.app--burkozel-table .burkozel-seat.status-vip-platinum > .platinum-sparks--wreath {
  display: block !important;
  z-index: 70 !important;
}
body.classic-rush-ui #app.app--burkozel-table .burkozel-seat > .burkozel-seat__avatar { z-index: 3 !important; }
body.classic-rush-ui #app.app--burkozel-table .burkozel-seat > .game-player-nameplate { z-index: 5 !important; }

/* Шашки: частицы обязаны занимать тот же квадрат 82 × 82, что и сам венок. */
body.classic-rush-ui #app.app--checkers-table .checkers-player-avatar-wrap {
  --rank-wreath-left: -10px;
  --rank-wreath-top: -10px;
  --rank-wreath-bottom: auto;
  --rank-wreath-width: 82px;
  --rank-wreath-height: 82px;
  overflow: visible !important;
  isolation: isolate !important;
}
body.classic-rush-ui #app.app--checkers-table .checkers-player-avatar-wrap > :is(.rank-wreath--checkers,.platinum-sparks--wreath) {
  position: absolute !important;
  left: var(--rank-wreath-left) !important;
  top: var(--rank-wreath-top) !important;
  bottom: var(--rank-wreath-bottom) !important;
  width: var(--rank-wreath-width) !important;
  height: var(--rank-wreath-height) !important;
  margin: 0 !important;
  transform: none !important;
  pointer-events: none !important;
}
body.classic-rush-ui #app.app--checkers-table .checkers-player-avatar-wrap > .rank-wreath--checkers { z-index: 1 !important; }
body.classic-rush-ui #app.app--checkers-table .checkers-player-avatar-wrap.status-vip-platinum > .platinum-sparks--wreath {
  display: block !important;
  z-index: 70 !important;
}
body.classic-rush-ui #app.app--checkers-table .checkers-player-avatar-wrap > .checkers-player-avatar { position: relative !important; z-index: 3 !important; }

/* Длинные нарды: положение идеального венка не меняется. Добавляется только
   тот же слой отдельных Platinum-звёздочек поверх точного контура венка. */
body.classic-rush-ui #app.app--backgammon-table .backgammon-player {
  overflow: visible !important;
  isolation: isolate !important;
}
body.classic-rush-ui #app.app--backgammon-table .backgammon-player > :is(.rank-wreath--backgammon,.platinum-sparks--wreath) {
  position: absolute !important;
  left: 27px !important;
  top: -2px !important;
  width: 82px !important;
  height: 82px !important;
  margin: 0 !important;
  transform: none !important;
  pointer-events: none !important;
}
body.classic-rush-ui #app.app--backgammon-table .backgammon-player > .rank-wreath--backgammon { z-index: 1 !important; }
body.classic-rush-ui #app.app--backgammon-table .backgammon-player.status-vip-platinum > .platinum-sparks--wreath {
  display: block !important;
  z-index: 70 !important;
}
body.classic-rush-ui #app.app--backgammon-table .backgammon-player > .backgammon-avatar { position: relative !important; z-index: 3 !important; }
body.classic-rush-ui #app.app--backgammon-table .backgammon-player > .backgammon-player__info { position: relative !important; z-index: 5 !important; }

/* Восьмёрка и снукер: аватар, венок, ник и зелёный баланс имеют одну ось.
   Явная border-box ширина исключает старый min-width, раздвигавший рамку вправо. */
body.classic-rush-ui #app.app--pool-table .profile-card {
  width: 140px !important;
  height: 122px !important;
}
body.classic-rush-ui #app.app--pool-table .profile-card > strong {
  box-sizing: border-box !important;
  left: 50% !important;
  right: auto !important;
  top: 72px !important;
  bottom: auto !important;
  width: 124px !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  transform: translateX(-50%) !important;
}
body.classic-rush-ui #app.app--pool-table .profile-card > em {
  box-sizing: border-box !important;
  left: 50% !important;
  right: auto !important;
  width: 140px !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  transform: translateX(-50%) !important;
}
body.classic-rush-ui #app.app--pool-table .profile-card > .profile-avatar {
  left: 38px !important;
}
body.classic-rush-ui #app.app--pool-table .profile-card > :is(.rank-wreath,.platinum-sparks--wreath) {
  left: 5px !important;
  top: auto !important;
  bottom: 28px !important;
  width: 130px !important;
  height: 106px !important;
}

/* ТОП игроков: молния больше не образует отдельную верхнюю строку. Она лежит
   внутри Gold/Platinum-плашки слева, а ник остаётся математически по центру. */
body.classic-rush-ui #topPlayersModal .ranking-player > .ranking-nick {
  position: relative !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: min(225px, 100%) !important;
  min-width: 135px !important;
  max-width: 225px !important;
  min-height: 29px !important;
  margin: 0 !important;
  padding: 2px 20px !important;
  line-height: 19px !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: visible !important;
  vertical-align: middle !important;
}
body.classic-rush-ui #topPlayersModal .ranking-player > .ranking-nick > .status-nick__label {
  position: relative !important;
  z-index: 4 !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 19px !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body.classic-rush-ui #topPlayersModal .ranking-player > .ranking-nick > .nick-bolt {
  position: absolute !important;
  left: 7px !important;
  top: 50% !important;
  z-index: 8 !important;
  display: block !important;
  width: 10px !important;
  min-width: 10px !important;
  height: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  transform: translateY(-50%) rotate(-7deg) !important;
}
body.classic-rush-ui #topPlayersModal .ranking-player > .ranking-nick > .platinum-sparks--frame {
  position: absolute !important;
  inset: -5px !important;
  z-index: 7 !important;
  display: block !important;
  pointer-events: none !important;
}


/* =========================================================
   v144 — Gold-рамка в лобби, новый профиль и аккуратный кабинет
   ========================================================= */

/* Gold в главном меню, лобби и общем чате снова имеет полноценный
   трёхпиксельный кант, как Platinum. Внутренняя заливка остаётся тёмной. */
.classic-rush-ui :is(.app--menu, .app--lobby, .app--clubchat)
.profile-card.status-vip-gold > strong {
  box-sizing: border-box !important;
  border: 3px solid transparent !important;
  background:
    linear-gradient(#0c2c3d,#0c2c3d) padding-box,
    linear-gradient(108deg,#7b4a00 0%,#fff1a0 14%,#c98700 29%,#fff8c5 44%,#986000 59%,#ffe16b 76%,#a86c00 89%,#fff3a5 100%) border-box !important;
  background-size: 100% 100%, 180% 100% !important;
  background-position: 0 0, 50% 0 !important;
  box-shadow:
    0 0 0 1px rgba(167,105,0,.92),
    0 0 7px rgba(255,204,49,.50),
    0 2px 4px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,245,170,.16),
    inset 0 -1px 0 rgba(69,35,0,.68) !important;
}

/* Публичный профиль: визуально разделены личность, статус, сведения,
   общая статистика и история. */
.modal__box--player-profile {
  width: 820px !important;
  min-height: 628px !important;
  padding: 28px 36px 20px !important;
}
.modal__box--player-profile::before {
  left: 24px !important;
  right: 24px !important;
  top: 72px !important;
  bottom: 70px !important;
}
.player-profile-tabs {
  margin: 11px 4px 9px !important;
}
.player-profile-tabs button {
  position: relative;
  min-height: 40px !important;
  overflow: hidden;
  border-color: rgba(74,216,255,.58) !important;
  background: linear-gradient(180deg,#247fa4 0%,#0b5978 48%,#06415d 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.17), 0 3px 7px rgba(0,0,0,.28);
  transition: transform .14s ease, filter .14s ease, box-shadow .14s ease;
}
.player-profile-tabs button:hover {
  filter: brightness(1.12);
  transform: translateY(-1px);
}
.player-profile-tabs button.is-active {
  color: #062d3d !important;
  background: linear-gradient(180deg,#b8f7ff 0%,#55dff6 48%,#13a9d1 100%) !important;
  box-shadow: 0 0 13px rgba(67,222,255,.42), inset 0 1px 0 rgba(255,255,255,.78) !important;
}
.player-profile-content {
  height: 446px !important;
  padding: 0 3px 2px;
  overflow: hidden !important;
}

.public-profile-head {
  min-height: 112px;
  display: flex;
  align-items: center;
  gap: 17px;
  padding: 9px 15px !important;
  border: 1px solid rgba(65,202,240,.40);
  border-radius: 13px;
  background:
    radial-gradient(circle at 12% 18%,rgba(52,205,239,.14),transparent 34%),
    linear-gradient(105deg,rgba(4,58,79,.94),rgba(1,38,56,.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 5px 13px rgba(0,0,0,.20);
}
.public-profile-avatar-stage {
  flex: 0 0 96px !important;
  width: 96px !important;
  height: 96px !important;
}
.public-profile-avatar-stage .rank-wreath--public-profile {
  inset: -11px !important;
  width: 118px !important;
  height: 118px !important;
}
.public-profile-identity {
  flex: 1;
  display: grid;
  align-content: center;
  gap: 9px;
}
.public-profile-name-line {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.public-profile-name-line h3,
.public-profile-head h3 {
  min-width: 0;
  margin: 0 !important;
  overflow: hidden;
  color: #fff;
  font-size: 27px !important;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.public-profile-presence {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 245px;
  padding: 5px 9px;
  border: 1px solid rgba(132,176,191,.25);
  border-radius: 999px;
  color: #a9c8d4;
  background: rgba(1,30,44,.62);
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}
.public-profile-presence i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #8398a1;
  box-shadow: 0 0 0 2px rgba(131,152,161,.16);
}
.public-profile-presence.is-online {
  color: #70ff88;
  border-color: rgba(80,255,114,.34);
}
.public-profile-presence.is-online i {
  background: #53ff71;
  box-shadow: 0 0 9px rgba(67,255,101,.85);
}
.public-profile-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
}
.public-profile-badges > span {
  min-height: 25px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  box-sizing: border-box;
  padding: 4px 10px;
  border-radius: 999px;
  color: #dff7ff;
  background: rgba(4,57,77,.76);
  border: 1px solid rgba(70,195,230,.36);
  font-size: 11px;
  font-weight: 950;
  text-shadow: 0 1px 2px #00141e;
}
.public-profile-status-badge.status-club { color:#76eaff; border-color:rgba(72,218,255,.58); }
.public-profile-status-badge.status-vip { color:#edb2ff; border-color:rgba(218,126,255,.55); }
.public-profile-status-badge.status-vip-gold {
  color:#fff0a0;
  border-color:#e4ad22;
  background:linear-gradient(180deg,rgba(92,57,1,.88),rgba(43,27,1,.92));
  box-shadow:inset 0 1px 0 rgba(255,239,154,.20),0 0 8px rgba(255,183,30,.16);
}
.public-profile-status-badge.status-vip-platinum {
  color:#f4fcff;
  border-color:#a9dfea;
  background:linear-gradient(180deg,rgba(77,105,116,.84),rgba(29,57,69,.94));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 0 8px rgba(202,244,255,.20);
}
.public-profile-moderator-badge {
  color:#ffb9f4 !important;
  border-color:rgba(255,83,223,.46) !important;
  background:rgba(77,16,69,.70) !important;
}
.public-profile-moderator-badge .nick-bolt {
  position: static !important;
  display: block !important;
  width: 10px !important;
  height: 16px !important;
  transform: rotate(-7deg) !important;
}
.public-profile-gender-badge {
  color:#c9e8f4 !important;
}

.public-profile-meta,
.public-profile-meta--private-safe {
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 7px !important;
  margin: 8px 0 !important;
}
.public-profile-meta span {
  min-width: 0;
  min-height: 48px;
  display: grid;
  align-content: center;
  padding: 6px 8px !important;
  border: 1px solid rgba(62,183,216,.28);
  border-radius: 9px !important;
  background: linear-gradient(180deg,rgba(4,60,81,.76),rgba(2,42,60,.82)) !important;
  text-align: center;
}
.public-profile-meta span > small {
  display: block;
  color: #8fb4c2;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}
.public-profile-meta b {
  min-width: 0;
  margin-top: 3px !important;
  overflow: hidden;
  color: #f4fbff;
  font-size: 13px !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.public-profile-summary {
  gap: 7px !important;
  margin: 7px 0 9px !important;
}
.public-profile-summary span {
  border-color: rgba(67,199,236,.32) !important;
  background: linear-gradient(180deg,rgba(2,51,72,.88),rgba(1,35,52,.90)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.public-profile-summary b {
  color: #eefaff !important;
}
.public-recent-games {
  padding: 8px 9px 7px;
  border: 1px solid rgba(61,181,215,.25);
  border-radius: 10px;
  background: rgba(0,30,45,.42);
}
.public-recent-games h4 {
  margin: 0 0 6px !important;
  color: #77e6ff;
  font-size: 13px;
  text-transform: uppercase;
}
.public-recent-game {
  min-height: 36px;
  margin: 4px 0 !important;
  border-color: rgba(62,176,210,.24) !important;
  background: linear-gradient(90deg,rgba(5,69,93,.66),rgba(2,44,64,.74)) !important;
}
.public-recent-game.is-win {
  border-color: rgba(78,255,109,.46) !important;
  box-shadow: inset 3px 0 0 rgba(79,255,108,.75);
}

/* В статистике прокручиваются только игровые строки. Заголовок остаётся
   на месте, а белый системный скролл заменён тонким голубым. */
.public-stats-table {
  overflow: hidden !important;
  border-radius: 10px !important;
}
.public-stats-scroll {
  max-height: 230px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #21bce8 rgba(1,29,43,.76);
}
.public-stats-scroll::-webkit-scrollbar { width: 10px; }
.public-stats-scroll::-webkit-scrollbar-track {
  border-left: 1px solid rgba(58,177,211,.18);
  background: linear-gradient(90deg,rgba(1,27,41,.80),rgba(4,49,67,.72));
}
.public-stats-scroll::-webkit-scrollbar-thumb {
  min-height: 48px;
  border: 2px solid rgba(1,31,45,.88);
  border-radius: 9px;
  background: linear-gradient(90deg,#087da8,#24c8ee 52%,#0878a2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.34),0 0 6px rgba(31,194,232,.22);
}
.public-stats-scroll::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(90deg,#0b91bf,#58ddf7 52%,#0a88b4);
}
.public-stats-scroll::-webkit-scrollbar-button { display:none; }
.public-stat-head {
  position: sticky;
  top: 0;
  z-index: 5;
  box-shadow: 0 2px 5px rgba(0,0,0,.28);
}
.public-stat-row {
  min-height: 39px !important;
}
.public-profile-time {
  margin-top: 7px !important;
  border: 1px solid rgba(62,183,216,.24);
  text-align: center;
}

/* Кнопки публичного профиля и личного кабинета выглядят как отдельные
   действия, а не одинаковые старые серые плашки. */
.player-profile-actions button {
  min-width: 220px !important;
  height: 39px !important;
  border: 1px solid rgba(94,226,255,.60) !important;
  border-radius: 10px !important;
  color: #e9fbff !important;
  background: linear-gradient(180deg,#2388ae,#0c5b7b 55%,#06435f) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.20),0 4px 7px rgba(0,0,0,.28) !important;
  text-shadow: 0 1px 2px #00131d !important;
  transition: transform .14s ease, filter .14s ease;
}
.player-profile-actions button:hover { transform: translateY(-1px); filter: brightness(1.12); }
.player-profile-actions button.is-active {
  border-color: rgba(255,130,130,.64) !important;
  background: linear-gradient(180deg,#d65b5b,#9d3030 58%,#6e1e1e) !important;
}

.modal__box--cabinet .cabinet-tabs {
  gap: 8px !important;
}
.modal__box--cabinet .cabinet-tabs button {
  min-height: 39px;
  border: 1px solid rgba(71,200,236,.48);
  border-radius: 9px;
  color: #dff7ff;
  background: linear-gradient(180deg,#1f789c,#0a5270 55%,#063c56);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16),0 3px 6px rgba(0,0,0,.24);
  transition: transform .14s ease, filter .14s ease, box-shadow .14s ease;
}
.modal__box--cabinet .cabinet-tabs button:hover {
  filter: brightness(1.12);
  transform: translateY(-1px);
}
.modal__box--cabinet .cabinet-tabs button.is-active {
  color: #063044;
  border-color: #78e6fb;
  background: linear-gradient(180deg,#c2f9ff,#61e1f5 52%,#17abd0);
  box-shadow: 0 0 12px rgba(53,218,250,.38),inset 0 1px 0 rgba(255,255,255,.78);
  text-shadow: 0 1px 0 rgba(255,255,255,.62);
}
.modal__box--cabinet .avatar-upload {
  box-sizing: border-box;
  height: 38px;
  border: 1px solid #ffd95a;
  border-radius: 10px;
  color: #402500;
  line-height: 36px;
  background: linear-gradient(180deg,#fff8a4,#ffd83d 52%,#e99700);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.74),0 4px 8px rgba(0,0,0,.30),0 0 9px rgba(255,195,30,.16);
}
.modal__box--cabinet .avatar-upload:hover { filter: brightness(1.07); }
.modal__box--cabinet .avatar-reset {
  height: 31px;
  border-radius: 9px;
  border-color: rgba(89,214,247,.60);
  background: linear-gradient(180deg,#246f91,#0c4d6b 58%,#07364f);
  cursor: pointer;
}
.modal__box--cabinet .cabinet-actions {
  gap: 18px !important;
  margin-top: 11px !important;
}
.modal__box--cabinet .cabinet-actions button {
  min-width: 200px !important;
  height: 41px !important;
  border-radius: 10px !important;
  transition: transform .14s ease, filter .14s ease, box-shadow .14s ease;
}
.modal__box--cabinet .cabinet-actions button:hover {
  transform: translateY(-1px);
  filter: brightness(1.08);
}
.modal__box--cabinet .cabinet-actions button[type="submit"] {
  border: 1px solid #ffe36e;
  color: #3c2300;
  background: linear-gradient(180deg,#fff8a4,#ffd63c 52%,#e99100);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.76),0 4px 8px rgba(0,0,0,.30),0 0 10px rgba(255,194,25,.18);
}
.modal__box--cabinet #cabinetLogoutBtn {
  border: 1px solid rgba(112,218,244,.56);
  color: #e8faff;
  background: linear-gradient(180deg,#2b7897,#12516d 55%,#0a384f);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18),0 4px 8px rgba(0,0,0,.28);
  text-shadow: 0 1px 2px #001620;
}
.modal__box--cabinet select {
  cursor: pointer;
}

/* =========================================================
   v145 — металлический Platinum-ник и игровые настройки ЛК
   ========================================================= */

/* Platinum теперь имеет собственный холодный серебристо-голубой цвет,
   а не выглядит как обычный белый ник. Градиент применяется только к тексту,
   поэтому статусная рамка и тёмная заливка плашки остаются нетронутыми. */
.classic-rush-ui .profile-card.status-vip-platinum > strong > .seat-nick__label,
.classic-rush-ui .chat-user-row .chat-user-name.status-vip-platinum > .status-nick__label,
.classic-rush-ui .room-list .room-user-name.status-vip-platinum > .status-nick__label,
.classic-rush-ui .player-list .lobby-user-name.status-vip-platinum > .status-nick__label,
.classic-rush-ui .ranking-nick.status-vip-platinum > .status-nick__label,
.classic-rush-ui .seat-nick.status-vip-platinum > .seat-nick__label,
.classic-rush-ui .game-player-nameplate.status-vip-platinum > .seat-nick__label,
.classic-rush-ui .public-profile-name-line h3.status-vip-platinum {
  color:#9fb9c7 !important;
  background:linear-gradient(180deg,#d6e5ec 0%,#9db7c5 31%,#657f8d 52%,#c4d8e1 73%,#829eac 100%) !important;
  background-size:100% 100% !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  text-shadow:none !important;
  filter:drop-shadow(0 1px 1px rgba(0,10,16,.96)) !important;
  animation:none !important;
}

/* В поле статуса используется спокойный цвет металла без свечения и мерцания. */
.modal__box--cabinet .cabinet-fields input#cabinetStatus.status-vip-platinum {
  color:#a9c4d1 !important;
  -webkit-text-fill-color:#a9c4d1 !important;
  border-color:#9db8c6 !important;
  background:linear-gradient(180deg,rgba(20,55,72,.95),rgba(7,35,49,.98)) !important;
  box-shadow:inset 0 1px 0 rgba(225,243,249,.16),inset 0 0 8px rgba(116,155,174,.10) !important;
  text-shadow:0 1px 1px rgba(0,10,16,.95) !important;
  filter:none !important;
  animation:none !important;
}
.modal__box--cabinet .cabinet-fields input#cabinetStatus.status-vip-gold {
  animation:none !important;
}
.public-profile-status-badge.status-vip-platinum {
  color:#a9c4d1 !important;
  text-shadow:0 1px 1px rgba(0,10,16,.95) !important;
  box-shadow:inset 0 1px 0 rgba(235,249,255,.16) !important;
}
.status-preview.status-vip-platinum .status-preview__nick {
  color:#a9c4d1 !important;
  -webkit-text-fill-color:#a9c4d1 !important;
  text-shadow:0 1px 1px rgba(0,10,16,.95) !important;
  animation:none !important;
}

/* Вместо системного выпадающего списка Windows — две игровые кнопки выбора. */
.cabinet-gender-field {
  display:grid;
  grid-template-columns:175px 1fr;
  gap:12px;
  align-items:center;
  min-height:36px;
  color:#d7edf7;
  font-weight:950;
  font-style:italic;
  text-shadow:0 2px 1px #000;
}
.cabinet-gender-field > span { text-align:right; }
.cabinet-gender-switch {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
  box-sizing:border-box;
  min-height:36px;
  padding:3px;
  border:1px solid rgba(71,199,234,.55);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(3,49,69,.96),rgba(1,28,42,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 2px 5px rgba(0,0,0,.28);
}
.cabinet-gender-switch button {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:0;
  height:28px;
  padding:0 7px;
  border:1px solid rgba(71,174,207,.26);
  border-radius:7px;
  color:#a9c8d5;
  background:linear-gradient(180deg,#174e67,#0a354b);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09);
  font-size:11px;
  font-weight:950;
  text-shadow:0 1px 2px #00131d;
  cursor:pointer;
  transition:filter .14s ease,transform .14s ease,box-shadow .14s ease;
}
.cabinet-gender-switch button:hover { filter:brightness(1.14); transform:translateY(-1px); }
.cabinet-gender-switch button i {
  font-size:17px;
  font-style:normal;
  font-weight:1000;
  line-height:1;
}
.cabinet-gender-switch button.is-active[data-gender="male"] {
  color:#e9fbff;
  border-color:#61ddf5;
  background:linear-gradient(180deg,#2aa9cf,#0b769d 55%,#075470);
  box-shadow:0 0 9px rgba(52,211,244,.30),inset 0 1px 0 rgba(255,255,255,.36);
}
.cabinet-gender-switch button.is-active[data-gender="female"] {
  color:#fff1fc;
  border-color:#e187d2;
  background:linear-gradient(180deg,#ba5ca7,#833b78 55%,#5d2857);
  box-shadow:0 0 9px rgba(225,100,202,.28),inset 0 1px 0 rgba(255,255,255,.30);
}

/* Кнопка палитры выглядит частью игрового кабинета, а не белым полем формы. */
.modal__box--cabinet .cabinet-chat-color-toggle {
  height:36px;
  padding:0 9px;
  border:1px solid rgba(71,199,234,.58);
  border-radius:10px;
  color:#dff7ff;
  background:linear-gradient(180deg,#1b6482,#0b4059 56%,#062d42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 2px 5px rgba(0,0,0,.28);
  text-shadow:0 1px 2px #00131d;
  transition:filter .14s ease,transform .14s ease,border-color .14s ease;
}
.modal__box--cabinet .cabinet-chat-color-toggle:hover {
  filter:brightness(1.12);
  transform:translateY(-1px);
  border-color:#60d9f3;
}
.modal__box--cabinet .cabinet-chat-color-toggle i {
  width:21px;
  height:21px;
  border:2px solid rgba(230,250,255,.78);
  border-radius:7px;
  box-shadow:inset 0 0 0 1px rgba(0,24,36,.55),0 0 6px rgba(89,214,244,.25);
}
.modal__box--cabinet .cabinet-chat-color-toggle em {
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  color:#052b3d;
  background:#65dcf5;
  text-shadow:none;
}
.modal__box--cabinet .cabinet-chat-color-picker.is-open .cabinet-chat-color-toggle {
  border-color:#78e5fa;
  box-shadow:0 0 10px rgba(52,211,244,.30),inset 0 1px 0 rgba(255,255,255,.18);
}

/* «Запомнить меня» стало компактным игровым переключателем. */
.modal__box--cabinet .cabinet-remember-field label {
  min-height:36px;
  box-sizing:border-box;
  padding:0 10px !important;
  border:1px solid rgba(71,199,234,.55) !important;
  border-radius:10px;
  color:#dff7ff !important;
  background:linear-gradient(180deg,#174f68,#0a354b 58%,#062a3d) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 2px 5px rgba(0,0,0,.28);
  text-shadow:0 1px 2px #00131d !important;
  transition:filter .14s ease,border-color .14s ease;
}
.modal__box--cabinet .cabinet-remember-field label:hover {
  filter:brightness(1.10);
  border-color:#61d9f2 !important;
}
.modal__box--cabinet .cabinet-remember-field input {
  position:relative;
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 42px;
  width:42px !important;
  height:22px !important;
  border:1px solid rgba(112,154,171,.72);
  border-radius:999px;
  background:linear-gradient(180deg,#173746,#0a202c);
  box-shadow:inset 0 2px 4px rgba(0,0,0,.52);
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.modal__box--cabinet .cabinet-remember-field input::before {
  content:"";
  position:absolute;
  left:2px;
  top:2px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:linear-gradient(180deg,#f3fbff,#9eb7c3);
  box-shadow:0 1px 3px rgba(0,0,0,.62),inset 0 1px 0 #fff;
  transition:transform .18s ease;
}
.modal__box--cabinet .cabinet-remember-field input:checked {
  border-color:#65e0f6;
  background:linear-gradient(180deg,#29bee0,#087a9f);
  box-shadow:0 0 8px rgba(56,215,245,.30),inset 0 1px 3px rgba(0,45,62,.35);
}
.modal__box--cabinet .cabinet-remember-field input:checked::before {
  transform:translateX(20px);
  background:linear-gradient(180deg,#fffbd0,#f1d34b);
}
.modal__box--cabinet .cabinet-remember-field b {
  overflow:hidden;
  color:#e6f9ff;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* =========================================================
   v146 — тёплый дымчато-платиновый цвет ника по образцу
   ========================================================= */

/* Цвет повторяет присланный образец: не белый и не голубой,
   а спокойный тёплый серебристо-графитовый металл. */
.classic-rush-ui .profile-card.status-vip-platinum > strong > .seat-nick__label,
.classic-rush-ui .chat-user-row .chat-user-name.status-vip-platinum > .status-nick__label,
.classic-rush-ui .room-list .room-user-name.status-vip-platinum > .status-nick__label,
.classic-rush-ui .player-list .lobby-user-name.status-vip-platinum > .status-nick__label,
.classic-rush-ui .ranking-nick.status-vip-platinum > .status-nick__label,
.classic-rush-ui .status-nick.status-vip-platinum > .status-nick__label,
.classic-rush-ui .seat-nick.status-vip-platinum > .seat-nick__label,
.classic-rush-ui .game-player-nameplate.status-vip-platinum > .seat-nick__label,
.classic-rush-ui .public-profile-name-line h3.status-vip-platinum {
  color:#b7aba6 !important;
  background:linear-gradient(180deg,
    #e8e1dd 0%,
    #c8bdb8 30%,
    #8d817d 53%,
    #d8cec9 73%,
    #aa9e99 100%) !important;
  background-size:100% 100% !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  text-shadow:none !important;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.96)) !important;
  animation:none !important;
}

/* Подпись статуса использует тот же спокойный Platinum-оттенок,
   без белого свечения и без анимации. */
.modal__box--cabinet .cabinet-fields input#cabinetStatus.status-vip-platinum,
.public-profile-status-badge.status-vip-platinum,
.status-preview.status-vip-platinum .status-preview__nick {
  color:#b7aba6 !important;
  -webkit-text-fill-color:#b7aba6 !important;
  text-shadow:0 1px 1px rgba(0,0,0,.96) !important;
  filter:none !important;
  animation:none !important;
}

/* =========================================================
   v147 — правила цвета чата по статусам
   ========================================================= */

/* Обычный статус: только стандартный белый ник и белый текст. */
.classic-rush-ui .club-chat-message .chat-nick.chat-color-mode--none,
.classic-rush-ui .club-chat-message .chat-nick.chat-color-mode--none .chat-nick__label,
.classic-rush-ui .table-chat-message .chat-nick.chat-color-mode--none,
.classic-rush-ui .table-chat-message .chat-nick.chat-color-mode--none .chat-nick__label,
.classic-rush-ui .chat-box p .chat-nick.chat-color-mode--none,
.classic-rush-ui .chat-box p .chat-nick.chat-color-mode--none .chat-nick__label {
  color:#f4fbff !important;
  -webkit-text-fill-color:#f4fbff !important;
  background:none !important;
  filter:none !important;
  text-shadow:0 1px 2px #000 !important;
}

/* Клубный и VIP: выбранный цвет применяется только к нику.
   Сам текст сообщения остаётся белым во всех чатах. */
.classic-rush-ui .club-chat-message.chat-color-mode--nick,
.classic-rush-ui .table-chat-message.chat-color-mode--nick,
.classic-rush-ui .chat-box p.chat-color-mode--nick,
.classic-rush-ui .club-chat-message.chat-color-mode--nick .club-chat-message__text,
.classic-rush-ui .table-chat-message.chat-color-mode--nick .table-chat-message__text,
.classic-rush-ui .chat-box p.chat-color-mode--nick > span:not(.blocked-message) {
  color:#f4fbff !important;
  -webkit-text-fill-color:#f4fbff !important;
  text-shadow:0 1px 2px #000 !important;
}
.classic-rush-ui .club-chat-message .chat-nick.chat-color-mode--nick.has-custom-chat-color,
.classic-rush-ui .club-chat-message .chat-nick.chat-color-mode--nick.has-custom-chat-color .chat-nick__label,
.classic-rush-ui .table-chat-message .chat-nick.chat-color-mode--nick.has-custom-chat-color,
.classic-rush-ui .table-chat-message .chat-nick.chat-color-mode--nick.has-custom-chat-color .chat-nick__label,
.classic-rush-ui .chat-box p .chat-nick.chat-color-mode--nick.has-custom-chat-color,
.classic-rush-ui .chat-box p .chat-nick.chat-color-mode--nick.has-custom-chat-color .chat-nick__label {
  color:var(--chat-nick-color) !important;
  -webkit-text-fill-color:var(--chat-nick-color) !important;
  background:none !important;
  filter:none !important;
  text-shadow:0 1px 2px #000,0 0 6px color-mix(in srgb,var(--chat-nick-color) 72%,transparent) !important;
}

/* У Клубного ника нет нижнего подчёркивания. У VIP оно остаётся. */
.classic-rush-ui .club-chat-message .chat-nick.status-club .chat-nick__label,
.classic-rush-ui .table-chat-message .chat-nick.status-club .chat-nick__label,
.classic-rush-ui .chat-box p .chat-nick.status-club .chat-nick__label {
  text-decoration:none !important;
}
.classic-rush-ui .club-chat-message .chat-nick.status-vip .chat-nick__label,
.classic-rush-ui .table-chat-message .chat-nick.status-vip .chat-nick__label,
.classic-rush-ui .chat-box p .chat-nick.status-vip .chat-nick__label {
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:2px !important;
}

/* Gold и Platinum сохраняют прежнее правило: выбранный цвет покрывает
   и ник, и весь текст сообщения во всех игровых чатах и в общем чате. */
.classic-rush-ui .club-chat-message.chat-color-mode--message.has-custom-message-color,
.classic-rush-ui .club-chat-message.chat-color-mode--message.has-custom-message-color .chat-nick,
.classic-rush-ui .club-chat-message.chat-color-mode--message.has-custom-message-color .chat-nick__label,
.classic-rush-ui .club-chat-message.chat-color-mode--message.has-custom-message-color .club-chat-message__text,
.classic-rush-ui .table-chat-message.chat-color-mode--message.has-custom-message-color,
.classic-rush-ui .table-chat-message.chat-color-mode--message.has-custom-message-color .chat-nick,
.classic-rush-ui .table-chat-message.chat-color-mode--message.has-custom-message-color .chat-nick__label,
.classic-rush-ui .table-chat-message.chat-color-mode--message.has-custom-message-color .table-chat-message__text,
.classic-rush-ui .chat-box p.chat-color-mode--message.has-custom-message-color,
.classic-rush-ui .chat-box p.chat-color-mode--message.has-custom-message-color .chat-nick,
.classic-rush-ui .chat-box p.chat-color-mode--message.has-custom-message-color .chat-nick__label,
.classic-rush-ui .chat-box p.chat-color-mode--message.has-custom-message-color > span:not(.blocked-message) {
  color:var(--chat-message-color) !important;
  -webkit-text-fill-color:var(--chat-message-color) !important;
  background:none !important;
  filter:none !important;
}

/* В общем чате убрана отдельная белая подсветка самого ника.
   Цвет остаётся чистым, без белого блика и без системной рамки фокуса. */
.classic-rush-ui .club-chat-message .chat-nick,
.classic-rush-ui .club-chat-message .chat-nick .chat-nick__label {
  background-image:none !important;
  box-shadow:none !important;
  filter:none !important;
  -webkit-tap-highlight-color:transparent;
}
.classic-rush-ui .club-chat-message.chat-color-mode--message .chat-nick,
.classic-rush-ui .club-chat-message.chat-color-mode--message .chat-nick .chat-nick__label {
  text-shadow:0 1px 2px #000 !important;
}
.classic-rush-ui .club-chat-message .chat-nick:focus,
.classic-rush-ui .club-chat-message .chat-nick:focus-visible,
.classic-rush-ui .club-chat-message .chat-nick:active {
  outline:none !important;
  box-shadow:none !important;
}

/* Палитра недоступна обычному статусу и выглядит именно как заблокированная
   игровая настройка, а не как активная кнопка. */
.modal__box--cabinet .cabinet-chat-color-field.is-locked .cabinet-chat-color-toggle {
  cursor:not-allowed !important;
  opacity:.72;
  border-color:rgba(111,145,158,.45) !important;
  color:#9fb4bd !important;
  background:linear-gradient(180deg,#24404c,#142b35 58%,#0b2029) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 2px 5px rgba(0,0,0,.24) !important;
  transform:none !important;
  filter:none !important;
}
.modal__box--cabinet .cabinet-chat-color-field.is-locked .cabinet-chat-color-toggle i {
  background:linear-gradient(180deg,#f7fbff,#c8d5da) !important;
  border-color:rgba(220,239,245,.55) !important;
  box-shadow:inset 0 0 0 1px rgba(0,24,36,.35) !important;
}
.modal__box--cabinet .cabinet-chat-color-field.is-locked .cabinet-chat-color-toggle em {
  color:#829aa4 !important;
  background:#263f49 !important;
}

/* =========================================================
   v148 — единый белый цвет обычного чата без подчёркиваний
   ========================================================= */

/* У Обычного статуса и ник, и текст сообщения используют ровно тот же
   белый цвет, что и текст сообщений Клубного/VIP. Убираем прежний
   голубоватый базовый цвет строки общего чата. */
.classic-rush-ui .club-chat-message.chat-color-mode--none,
.classic-rush-ui .club-chat-message.chat-color-mode--none .club-chat-message__text,
.classic-rush-ui .table-chat-message.chat-color-mode--none,
.classic-rush-ui .table-chat-message.chat-color-mode--none .table-chat-message__text,
.classic-rush-ui .chat-box p.chat-color-mode--none,
.classic-rush-ui .chat-box p.chat-color-mode--none > span:not(.blocked-message) {
  color:#f4fbff !important;
  -webkit-text-fill-color:#f4fbff !important;
  text-shadow:0 1px 2px #000 !important;
  filter:none !important;
}

/* Обычный ник больше не подчёркивается ни постоянно, ни при наведении. */
.classic-rush-ui .club-chat-message .chat-nick.status-normal,
.classic-rush-ui .club-chat-message .chat-nick.status-normal .chat-nick__label,
.classic-rush-ui .table-chat-message .chat-nick.status-normal,
.classic-rush-ui .table-chat-message .chat-nick.status-normal .chat-nick__label,
.classic-rush-ui .chat-box p .chat-nick.status-normal,
.classic-rush-ui .chat-box p .chat-nick.status-normal .chat-nick__label {
  text-decoration:none !important;
  border-bottom:0 !important;
}

/* Наведение на адресуемые ники больше не рисует системную нижнюю полосу.
   Статусное постоянное подчёркивание VIP при этом остаётся отдельным правилом. */
.classic-rush-ui .chat-nick[data-action="addressChatUser"]:hover,
.classic-rush-ui .chat-nick[data-action="addressChatUser"]:hover .chat-nick__label,
.classic-rush-ui .chat-nick[data-action="addressChatUser"]:focus,
.classic-rush-ui .chat-nick[data-action="addressChatUser"]:focus .chat-nick__label,
.classic-rush-ui .chat-nick[data-action="addressChatUser"]:active,
.classic-rush-ui .chat-nick[data-action="addressChatUser"]:active .chat-nick__label,
.classic-rush-ui .chat-user-name[data-action="addressChatUser"]:hover,
.classic-rush-ui .chat-user-name[data-action="addressChatUser"]:hover .status-nick__label,
.classic-rush-ui .chat-user-name[data-action="addressChatUser"]:focus,
.classic-rush-ui .chat-user-name[data-action="addressChatUser"]:focus .status-nick__label,
.classic-rush-ui .chat-user-name[data-action="addressChatUser"]:active,
.classic-rush-ui .chat-user-name[data-action="addressChatUser"]:active .status-nick__label,
.classic-rush-ui .room-user-name[data-action="addressChatUser"]:hover,
.classic-rush-ui .room-user-name[data-action="addressChatUser"]:hover .status-nick__label,
.classic-rush-ui .room-user-name[data-action="addressChatUser"]:focus,
.classic-rush-ui .room-user-name[data-action="addressChatUser"]:focus .status-nick__label,
.classic-rush-ui .room-user-name[data-action="addressChatUser"]:active,
.classic-rush-ui .room-user-name[data-action="addressChatUser"]:active .status-nick__label {
  text-decoration:none !important;
  border-bottom:0 !important;
  outline:none !important;
}


/* =========================================================
   v149 — полные ники без многоточия во всех играх
   ========================================================= */

/* В игровых плашках освобождаем место, которое раньше съедали слишком
   большие внутренние отступы. Молния остаётся поверх рамки и не сдвигает
   центр ника. Реальный размер при необходимости задаёт --nick-auto-font-size. */
body.classic-rush-ui #app .game-player-nameplate,
.classic-rush-ui .game-player-nameplate,
.game-player-nameplate {
  padding-left: 5px !important;
  padding-right: 5px !important;
  font-size: var(--nick-auto-font-size, var(--nick-fit-base-size, 12px)) !important;
}
body.classic-rush-ui #app .game-player-nameplate:is(.is-moderator,:has(> .nick-bolt)),
.classic-rush-ui .game-player-nameplate:is(.is-moderator,:has(> .nick-bolt)),
.game-player-nameplate:is(.is-moderator,:has(> .nick-bolt)) {
  padding-left: 15px !important;
  padding-right: 15px !important;
}

/* Базовые ступени нужны ещё до первого измерения браузером, поэтому при
   открытии стола ник сразу выглядит аккуратно и затем только уточняется. */
body.classic-rush-ui #app .game-player-nameplate.nick-fit-medium,
.classic-rush-ui .game-player-nameplate.nick-fit-medium,
.game-player-nameplate.nick-fit-medium { --nick-fit-base-size: 11px; }
body.classic-rush-ui #app .game-player-nameplate.nick-fit-long,
.classic-rush-ui .game-player-nameplate.nick-fit-long,
.game-player-nameplate.nick-fit-long { --nick-fit-base-size: 10px; letter-spacing: -.12px !important; }
body.classic-rush-ui #app .game-player-nameplate.nick-fit-xlong,
.classic-rush-ui .game-player-nameplate.nick-fit-xlong,
.game-player-nameplate.nick-fit-xlong { --nick-fit-base-size: 8.8px; letter-spacing: -.22px !important; }

/* Многоточие полностью отключено: до 16 разрешённых символов всегда
   показываются целиком, а не превращаются в «Администра...». */
body.classic-rush-ui #app .game-player-nameplate > :is(.seat-nick__label,.status-nick__label),
.classic-rush-ui .game-player-nameplate > :is(.seat-nick__label,.status-nick__label),
.game-player-nameplate > :is(.seat-nick__label,.status-nick__label),
body.classic-rush-ui #app .checkers-player-name > .status-nick__label,
body.classic-rush-ui #app .room-user-name > .status-nick__label,
body.classic-rush-ui #app .lobby-user-name > .status-nick__label,
body.classic-rush-ui #app .chat-user-name > .status-nick__label,
body.classic-rush-ui #topPlayersModal .ranking-nick > .status-nick__label {
  overflow: hidden !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

/* В правом списке игрового стола молния уже находится в отдельной левой
   колонке, поэтому имени больше не нужны широкие симметричные поля. */
body.classic-rush-ui #app .room-list .room-user-name {
  padding-left: 4px !important;
  padding-right: 4px !important;
  font-size: var(--nick-auto-font-size, var(--nick-fit-base-size, 12px)) !important;
}
body.classic-rush-ui #app .room-list .room-user-name.nick-fit-medium { --nick-fit-base-size: 11px; }
body.classic-rush-ui #app .room-list .room-user-name.nick-fit-long { --nick-fit-base-size: 10px; letter-spacing: -.12px !important; }
body.classic-rush-ui #app .room-list .room-user-name.nick-fit-xlong { --nick-fit-base-size: 8.8px; letter-spacing: -.22px !important; }

/* Шашки используют отдельное имя внутри боковой карточки, поэтому оно тоже
   подключено к тому же автоматическому поджатию. */
body.classic-rush-ui #app .checkers-player-name,
body.classic-rush-ui #app .player-list .lobby-user-name,
body.classic-rush-ui #app .chat-user-name,
body.classic-rush-ui #topPlayersModal .ranking-nick {
  font-size: var(--nick-auto-font-size, var(--nick-fit-base-size, 12px)) !important;
}
body.classic-rush-ui #app .checkers-player-name.nick-fit-medium,
body.classic-rush-ui #app .player-list .lobby-user-name.nick-fit-medium,
body.classic-rush-ui #app .chat-user-name.nick-fit-medium,
body.classic-rush-ui #topPlayersModal .ranking-nick.nick-fit-medium { --nick-fit-base-size: 11px; }
body.classic-rush-ui #app .checkers-player-name.nick-fit-long,
body.classic-rush-ui #app .player-list .lobby-user-name.nick-fit-long,
body.classic-rush-ui #app .chat-user-name.nick-fit-long,
body.classic-rush-ui #topPlayersModal .ranking-nick.nick-fit-long { --nick-fit-base-size: 10px; letter-spacing: -.12px !important; }
body.classic-rush-ui #app .checkers-player-name.nick-fit-xlong,
body.classic-rush-ui #app .player-list .lobby-user-name.nick-fit-xlong,
body.classic-rush-ui #app .chat-user-name.nick-fit-xlong,
body.classic-rush-ui #topPlayersModal .ranking-nick.nick-fit-xlong { --nick-fit-base-size: 8.8px; letter-spacing: -.22px !important; }


/* ===== v150: rules and support center ===== */
.classic-rush-ui .rules-menu-button { font-size:12px !important; line-height:.95 !important; }
.classic-rush-ui .bottom-buttons .rules-menu-button::before { content:"§" !important; color:#fff2a9 !important; font:950 43px/.9 Georgia,serif !important; text-shadow:0 2px 0 #704000,0 0 8px rgba(255,215,82,.45) !important; }
.classic-rush-ui .club-support-launch {
  right:26px !important; bottom:60px !important; width:105px !important; height:104px !important;
  display:flex !important; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  border:5px solid #c98b24 !important; border-radius:50% !important; pointer-events:auto !important; cursor:pointer !important;
  color:#fff071 !important; background:radial-gradient(circle at 38% 28%,#52cdf2 0 12%,#1686ad 13% 48%,#174e77 49% 62%,#49246e 63% 100%) !important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.48),inset 0 -8px 13px rgba(0,0,0,.34),0 8px 9px rgba(0,0,0,.4) !important;
  text-shadow:0 2px 1px #132438,0 0 5px rgba(255,239,90,.35) !important;
}
.classic-rush-ui .club-support-launch::before { content:none !important; }
.club-support-launch__icon { font-size:35px; line-height:31px; transform:rotate(-15deg); color:#effcff; text-shadow:0 2px 1px #052436,0 0 8px rgba(130,234,255,.75); }
.club-support-launch b { font-size:13px; font-weight:950; font-style:italic; }
.club-support-launch i { position:absolute; right:-5px; top:-5px; min-width:25px; height:25px; padding:0 5px; display:none; place-items:center; border:2px solid #fff4a8; border-radius:20px; background:#e6414a; color:#fff; font:950 12px/21px Arial,sans-serif; box-shadow:0 0 10px rgba(255,70,70,.85); }
.club-support-launch i.is-visible { display:grid; }
.club-support-launch.has-unread { animation:supportOrbPulse 1.25s ease-in-out infinite alternate; }
@keyframes supportOrbPulse { from{filter:brightness(1)} to{filter:brightness(1.23);box-shadow:inset 0 2px 0 rgba(255,255,255,.48),inset 0 -8px 13px rgba(0,0,0,.34),0 0 18px rgba(255,213,55,.85)} }

.modal__box--rules,.modal__box--support { width:920px; max-width:calc(100vw - 36px); height:690px; max-height:calc(100vh - 26px); padding:18px 22px 20px; border:2px solid #20c8ee; border-radius:18px; background:linear-gradient(180deg,#12617d 0,#073a52 18%,#062d42 100%); box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 18px 42px rgba(0,0,0,.58); overflow:hidden; }
.rules-heading,.support-heading { display:flex; align-items:center; gap:14px; min-height:68px; padding:0 44px 10px 3px; border-bottom:1px solid rgba(94,216,244,.28); }
.rules-heading__seal,.support-heading__icon { width:54px; height:54px; display:grid; place-items:center; flex:0 0 auto; border:3px solid #d5a033; border-radius:50%; color:#ffe26b; background:radial-gradient(circle,#1b7898 0 54%,#0a3d59 55% 100%); box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 4px 10px rgba(0,0,0,.35); font:950 17px/1 Arial,sans-serif; }
.support-heading__icon { font-size:27px; transform:none; }
.rules-heading h2,.support-heading h2 { margin:0; color:#fff; font-size:27px; letter-spacing:.6px; text-shadow:0 2px 2px #00131c; }
.rules-heading p,.support-heading p { margin:3px 0 0; color:#9ddcea; font-size:13px; }
.support-heading__online { margin-left:auto; padding:7px 11px; border:1px solid rgba(80,255,168,.38); border-radius:18px; color:#baffd3; background:rgba(9,66,56,.72); font-size:12px; white-space:nowrap; }
.support-heading__online i { display:inline-block; width:8px; height:8px; margin-right:4px; border-radius:50%; background:#49ff8e; box-shadow:0 0 8px #49ff8e; }
.rules-tabs,.support-tabs { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin:12px 0; }
.support-tabs { grid-template-columns:repeat(3,1fr); }
.rules-tabs button,.support-tabs button { position:relative; min-height:38px; border:1px solid #168eb7; border-radius:9px; color:#c9e9f2; background:linear-gradient(#126583,#0b455e); font-weight:900; cursor:pointer; }
.rules-tabs button.is-active,.support-tabs button.is-active { color:#06283a; border-color:#bdf7ff; background:linear-gradient(#bff9ff,#32c5ef); box-shadow:inset 0 1px 0 #fff,0 0 10px rgba(54,207,244,.42); }
.support-tabs button b { min-width:20px; height:20px; display:none; place-items:center; position:absolute; right:8px; top:8px; border-radius:12px; color:#fff; background:#e54857; font-size:11px; }
.support-tabs button b.is-visible { display:grid; }
.rules-document { height:500px; overflow:auto; padding:2px 8px 14px 2px; scrollbar-color:#25b9e7 #062b3d; scrollbar-width:thin; }
.rules-panel { display:none; gap:9px; }
.rules-panel.is-active { display:grid; }
.rules-panel article { padding:12px 14px; border:1px solid rgba(49,168,204,.32); border-radius:10px; background:linear-gradient(180deg,rgba(10,74,99,.88),rgba(5,43,61,.9)); box-shadow:inset 0 1px 0 rgba(255,255,255,.05); }
.rules-panel h3 { margin:0 0 6px; color:#ffe16a; font-size:15px; }
.rules-panel p { margin:0; color:#d5edf4; font-size:13px; line-height:1.42; }
.rules-footer { height:48px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid rgba(83,194,222,.28); color:#86bdca; font-size:12px; }
.rules-footer button,.support-submit-row button,.support-auth-notice button,.support-reply-form button { min-width:180px; height:36px; border:1px solid #ffe989; border-radius:18px; color:#4b2b00; background:linear-gradient(#fff277,#ffbd18 58%,#d78500); box-shadow:inset 0 1px 0 #fff,0 4px 8px rgba(0,0,0,.25); font-weight:950; cursor:pointer; }
.registration-agree { align-items:flex-start !important; gap:8px; }
.registration-agree input { margin-top:4px; flex:0 0 auto; }
.registration-agree b { color:#d9edf3; font-size:11px; line-height:1.3; text-align:left; }
.inline-rules-link { padding:0; border:0; color:#63e6ff; background:none; font:inherit; font-weight:950; text-decoration:underline; cursor:pointer; }
.registration-rules-version { display:block; margin:-5px 0 5px 134px; color:#6f9eaa; font-size:9px; }
#registerSubmit:disabled { filter:grayscale(.8); opacity:.48; cursor:not-allowed; }

.support-panel { display:none; height:505px; }
.support-panel.is-active { display:block; }
.support-new-form { position:relative; height:100%; display:flex; flex-direction:column; gap:10px; }
.support-new-form.is-locked { opacity:.34; pointer-events:none; filter:grayscale(.4); }
.support-auth-notice { position:absolute; z-index:3; left:50%; top:50%; transform:translate(-50%,-50%); width:430px; padding:22px; display:flex; align-items:center; justify-content:space-between; gap:15px; border:2px solid #ffd95d; border-radius:14px; color:#fff; background:rgba(5,35,50,.97); box-shadow:0 12px 32px rgba(0,0,0,.55); }
.support-form-grid { display:grid; grid-template-columns:250px 1fr; gap:10px; }
.support-new-form label>span,.support-new-form label>textarea,.support-new-form label>input,.support-new-form label>select { display:block; }
.support-new-form label>span { margin:0 0 5px; color:#85dced; font-size:11px; font-weight:950; }
.support-new-form input,.support-new-form select,.support-new-form textarea,.support-reply-form textarea { width:100%; border:1px solid #1ca7d0; border-radius:8px; color:#effcff; background:#052c40; outline:none; box-shadow:inset 0 2px 5px rgba(0,0,0,.3); }
.support-new-form input,.support-new-form select { height:38px; padding:0 10px; }
.support-new-form select option { color:#fff; background:#07384e; }
.support-new-form textarea { min-height:145px; resize:none; padding:10px; line-height:1.42; }
.support-message-field { flex:1; }
.support-attachment-row { display:grid; grid-template-columns:190px 1fr auto; gap:9px; align-items:center; }
.support-attachment-button { height:42px; display:grid; place-items:center; border:1px solid #25b6dc; border-radius:9px; color:#dff9ff; background:linear-gradient(#126b88,#0b485f); cursor:pointer; }
.support-attachment-button input { display:none; }
.support-attachment-button span { margin:0 !important; color:inherit !important; }
.support-attachment-preview { min-height:42px; display:flex; align-items:center; gap:9px; padding:5px 9px; border:1px dashed rgba(87,196,223,.45); border-radius:8px; color:#7faab5; overflow:hidden; }
.support-attachment-preview img { width:54px; height:34px; object-fit:cover; border-radius:4px; }
#supportAttachmentClear { height:34px; border:1px solid #b34d58; border-radius:7px; color:#ffc9ce; background:#59232a; cursor:pointer; }
.support-auto-meta { display:flex; gap:8px; padding:8px 10px; border-radius:8px; color:#9dccd8; background:rgba(6,49,67,.8); font-size:11px; }
.support-auto-meta b { color:#ffe16a; }
.support-submit-row { margin-top:auto; display:flex; align-items:center; justify-content:space-between; }
.support-submit-row small { color:#82b5c1; }
.support-ticket-layout { height:100%; display:grid; grid-template-columns:310px 1fr; gap:10px; }
.support-ticket-list,.support-ticket-thread { min-height:0; overflow:auto; border:1px solid rgba(43,164,198,.45); border-radius:11px; background:rgba(4,35,50,.72); scrollbar-color:#25b9e7 #062b3d; scrollbar-width:thin; }
.support-ticket-list { padding:8px; display:flex; flex-direction:column; gap:7px; }
.support-ticket-card { width:100%; padding:10px; display:grid; gap:5px; text-align:left; border:1px solid rgba(55,151,178,.4); border-radius:9px; color:#d6f1f7; background:linear-gradient(#0d536d,#093d54); cursor:pointer; }
.support-ticket-card.is-active { border-color:#8deeff; box-shadow:0 0 9px rgba(68,210,244,.35); background:linear-gradient(#126d8c,#0a4b64); }
.support-ticket-card.has-unread { border-left:4px solid #ffdd4f; }
.support-ticket-card__top { display:flex; justify-content:space-between; align-items:center; }
.support-ticket-card__top b { color:#ffe06a; }
.support-ticket-card strong { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.support-ticket-card small { color:#82b2bd; }
.support-ticket-card i,.support-thread-head>i { padding:3px 7px; border-radius:11px; font-style:normal; font-size:10px; font-weight:950; }
.support-ticket-card i.new,.support-thread-head>i.new { color:#fff0a8; background:#735b12; }
.support-ticket-card i.in_progress,.support-thread-head>i.in_progress { color:#bdeeff; background:#185b76; }
.support-ticket-card i.answered,.support-thread-head>i.answered { color:#caffd6; background:#17643c; }
.support-ticket-card i.closed,.support-thread-head>i.closed { color:#c2ccd0; background:#3e4b50; }
.support-ticket-thread { display:flex; flex-direction:column; overflow:hidden; }
.support-thread-head { padding:11px 13px; display:flex; align-items:center; justify-content:space-between; gap:10px; border-bottom:1px solid rgba(46,161,190,.35); background:rgba(10,73,96,.75); }
.support-thread-head span { color:#79b9c8; font-size:10px; }
.support-thread-head h3 { margin:2px 0; color:#fff; font-size:17px; }
.support-thread-head p { margin:0; color:#8fc3ce; font-size:11px; }
.support-thread-messages { flex:1; min-height:0; overflow:auto; padding:12px; display:flex; flex-direction:column; gap:9px; }
.support-thread-message { max-width:82%; padding:9px 11px; border-radius:10px; color:#eaf8fb; box-shadow:0 3px 8px rgba(0,0,0,.2); }
.support-thread-message.is-user { align-self:flex-end; border:1px solid #278db1; background:#0e607e; }
.support-thread-message.is-admin { align-self:flex-start; border:1px solid #b78c2d; background:#5e4a19; }
.support-thread-message__head { display:flex; justify-content:space-between; gap:14px; margin-bottom:5px; }
.support-thread-message__head b { color:#fff06b; font-size:11px; }
.support-thread-message__head time { color:#a9c7ce; font-size:9px; }
.support-thread-message p { margin:0; font-size:12px; line-height:1.4; }
.support-thread-image { margin-top:7px; padding:0; border:1px solid rgba(255,255,255,.35); border-radius:7px; background:none; cursor:pointer; overflow:hidden; }
.support-thread-image img { display:block; max-width:230px; max-height:140px; object-fit:cover; }
.support-reply-form { padding:9px; display:grid; grid-template-columns:1fr 130px; gap:8px; border-top:1px solid rgba(49,158,188,.35); }
.support-reply-form textarea { min-height:58px; padding:8px; resize:none; }
.support-reply-form button { min-width:0; height:auto; border-radius:9px; }
.support-empty { height:100%; min-height:140px; display:grid; place-content:center; gap:5px; padding:20px; color:#7faab5; text-align:center; }
.support-empty b { color:#d6edf2; }
.support-empty.is-error b { color:#ff9da5; }
.support-faq { height:405px; overflow:auto; display:grid; gap:8px; padding-right:5px; }
.support-faq details { border:1px solid rgba(57,169,201,.4); border-radius:10px; background:rgba(6,55,75,.78); }
.support-faq summary { padding:12px 14px; color:#ffe06a; font-weight:950; cursor:pointer; }
.support-faq p { margin:0; padding:0 14px 13px; color:#d5edf3; font-size:13px; line-height:1.45; }
.support-mail-card { margin-top:11px; padding:12px 15px; display:flex; align-items:center; gap:12px; border:1px solid rgba(255,217,75,.42); border-radius:10px; color:#dff4f8; background:linear-gradient(90deg,rgba(91,70,15,.7),rgba(8,54,71,.8)); }
.support-mail-card>span { font-size:28px; }
.support-mail-card p { margin:2px 0 0; color:#9fd0da; }

.support-panel { position:relative; }

.support-auth-notice[hidden] { display:none !important; }

/* ===== v151: жалобы, доказательства модерации, увеличенные правила ===== */
.modal__box--rules {
  width: 1080px !important;
  height: min(840px, calc(100vh - 18px)) !important;
  max-width: calc(100vw - 24px) !important;
  max-height: calc(100vh - 18px) !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 20px 26px 18px !important;
  box-sizing: border-box;
}
.modal__box--rules .rules-heading { flex: 0 0 auto; min-height: 74px; }
.modal__box--rules .rules-tabs { flex: 0 0 auto; margin: 13px 0 !important; }
.modal__box--rules .rules-document {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 4px 11px 18px 3px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.modal__box--rules .rules-panel { align-content: start; gap: 12px !important; }
.modal__box--rules .rules-panel article {
  min-height: 96px;
  padding: 16px 18px !important;
  display: block !important;
  box-sizing: border-box;
  overflow: visible !important;
}
.modal__box--rules .rules-panel h3 { margin-bottom: 8px !important; font-size: 16px !important; line-height: 1.25 !important; }
.modal__box--rules .rules-panel p { font-size: 14px !important; line-height: 1.55 !important; overflow: visible !important; }
.modal__box--rules .rules-footer {
  flex: 0 0 54px !important;
  height: 54px !important;
  min-height: 54px !important;
  padding-top: 6px;
  box-sizing: border-box;
  background: linear-gradient(180deg, rgba(6,45,64,.25), rgba(6,36,52,.94));
}

.player-profile-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.player-profile-actions .player-profile-report-button {
  color: #fff4da !important;
  border-color: rgba(255, 176, 77, .86) !important;
  background: linear-gradient(#d86b47, #9f2c31 58%, #641a25) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.34), 0 4px 9px rgba(0,0,0,.28) !important;
}
.player-profile-actions .player-profile-report-button:hover {
  filter: brightness(1.16) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.42), 0 0 14px rgba(255,111,62,.38) !important;
}

.modal__box--player-report,
.modal__box--chat-evidence {
  width: 690px;
  max-width: calc(100vw - 28px);
  padding: 25px 30px 24px;
  border: 2px solid #24c8ee;
  border-radius: 17px;
  color: #d9f4fb;
  background: linear-gradient(180deg, #12627f 0, #073a52 19%, #052b40 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 18px 42px rgba(0,0,0,.62);
}
.modal__box--player-report::before,
.modal__box--chat-evidence::before { content: none !important; }
.player-report-heading,
.chat-evidence-heading {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 42px 15px 0;
  margin-bottom: 16px;
  border-bottom: 1px solid rgba(89,211,239,.28);
}
.player-report-heading > span,
.chat-evidence-heading > span {
  width: 55px;
  height: 55px;
  flex: 0 0 55px;
  display: grid;
  place-items: center;
  border: 3px solid #e6ad3b;
  border-radius: 50%;
  color: #ffe373;
  background: radial-gradient(circle, #2181a2 0 52%, #0a3c58 54% 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.42), 0 4px 10px rgba(0,0,0,.35);
  font-size: 27px;
  font-weight: 950;
}
.player-report-heading h2,
.chat-evidence-heading h2 { margin: 0; color: #fff; font-size: 24px; text-shadow: 0 2px 2px #00141e; }
.player-report-heading p,
.chat-evidence-heading p { margin: 4px 0 0; color: #9ddcea; font-weight: 850; }
.player-report-field,
.chat-evidence-field { display: block; margin: 12px 0; }
.player-report-field > span,
.chat-evidence-field > span { display: block; margin-bottom: 6px; color: #84dfef; font-size: 11px; font-weight: 950; }
.player-report-field select,
.player-report-field textarea,
.chat-evidence-field textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #20acd3;
  border-radius: 9px;
  color: #effcff;
  background: #052d41;
  outline: none;
  box-shadow: inset 0 2px 6px rgba(0,0,0,.34);
}
.player-report-field select { height: 42px; padding: 0 11px; }
.player-report-field select option { color: #fff; background: #07384e; }
.player-report-field textarea,
.chat-evidence-field textarea { min-height: 130px; padding: 11px; resize: vertical; line-height: 1.45; }
.player-report-note,
.chat-evidence-help {
  padding: 10px 12px;
  border: 1px solid rgba(255,211,78,.24);
  border-radius: 9px;
  color: #b9d9e3;
  background: rgba(4,47,65,.78);
  font-size: 12px;
  line-height: 1.4;
}
.player-report-actions,
.chat-evidence-actions { margin-top: 12px; }
.player-report-actions button:first-child,
.chat-evidence-actions button:first-child {
  color: #422500 !important;
  border-color: #fff08f !important;
  background: linear-gradient(#fff37b, #ffbd1c 58%, #d48200) !important;
}

.chat-evidence-recent {
  max-height: 165px;
  margin: 12px 0;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  overflow: auto;
  border: 1px solid rgba(43,173,209,.38);
  border-radius: 10px;
  background: rgba(2,35,51,.68);
  scrollbar-color: #25b9e7 #062b3d;
  scrollbar-width: thin;
}
.chat-evidence-recent .side-empty { margin: 0; padding: 16px; }
.chat-evidence-choice {
  width: 100%;
  padding: 9px 11px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 7px;
  border: 1px solid rgba(61,176,207,.38);
  border-radius: 8px;
  color: #e5f8fc;
  background: linear-gradient(#0d536d,#093d54);
  text-align: left;
  cursor: pointer;
}
.chat-evidence-choice:hover,
.chat-evidence-choice.is-selected { border-color: #ffe16a; background: linear-gradient(#126d8c,#0a4b64); box-shadow: 0 0 9px rgba(255,212,75,.22); }
.chat-evidence-choice small { color: #85b8c5; white-space: nowrap; }

.support-attachment-row { grid-template-columns: 230px minmax(0, 1fr) auto !important; }
.support-attachment-input,
#supportAttachmentInput { display: none !important; position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
button.support-attachment-button {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  height: 44px !important;
  padding: 0 14px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #87edff !important;
  border-radius: 10px !important;
  color: #062b3c !important;
  background: linear-gradient(#bdf8ff, #32c8f0 54%, #0787b1) !important;
  box-shadow: inset 0 1px 0 #fff, 0 4px 9px rgba(0,0,0,.28), 0 0 11px rgba(51,205,241,.24) !important;
  font-size: 11px;
  font-weight: 950;
  cursor: pointer;
  text-shadow: 0 1px 0 rgba(255,255,255,.55);
}
button.support-attachment-button:hover { filter: brightness(1.12); transform: translateY(-1px); }
.support-attachment-button__icon { font-size: 17px; line-height: 1; }
.support-attachment-preview > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.message-moderation-actions { display: inline-flex; align-items: center; gap: 3px; margin-left: 4px; vertical-align: middle; }
.message-moderation-actions .message-skull,
.message-delete-button { position: static !important; margin: 0 !important; }
.message-delete-button {
  width: 21px;
  height: 21px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,103,103,.78);
  border-radius: 50%;
  color: #ffd4d4;
  background: linear-gradient(#a83e48,#63202a);
  font: 950 12px/1 Arial,sans-serif;
  cursor: pointer;
}
.message-delete-button:hover { filter: brightness(1.22); }
.message-report-button {
  width: 21px;
  height: 21px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,190,70,.88);
  border-radius: 50%;
  color: #4a2700;
  background: linear-gradient(#ffe48a,#d99a22);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 2px 5px rgba(0,0,0,.38);
  font: 950 12px/1 Arial,sans-serif;
  cursor: pointer;
}
.message-report-button:hover { filter: brightness(1.14); transform: scale(1.05); }
.message-report-button.is-reported,
.message-report-button:disabled { color:#073b1b; background:linear-gradient(#9df0b7,#36a95d); border-color:#87e6a4; cursor:default; transform:none; }
.chat-skull[disabled], .room-skull[disabled] { cursor: not-allowed !important; opacity: .72; filter: grayscale(.2); }

@media (max-width: 760px) {
  .player-profile-actions { grid-template-columns: 1fr !important; }
  .modal__box--player-report,
  .modal__box--chat-evidence { padding: 20px 18px; }
  .support-attachment-row { grid-template-columns: 1fr !important; }
}
.player-profile-actions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 9px !important;
  justify-content: stretch !important;
}
.player-profile-actions button { min-width: 0 !important; width: 100% !important; font-size: 13px !important; }


/* v155: игровое подтверждение жалобы на конкретное сообщение */
.modal--stacked { z-index: 1200 !important; background: rgba(0, 10, 18, .76) !important; backdrop-filter: blur(3px); }
.modal__box--message-report-confirm {
  width: 610px;
  max-width: calc(100vw - 28px);
  padding: 25px 29px 24px;
  border: 2px solid #24c8ee;
  border-radius: 18px;
  color: #dff8ff;
  background:
    radial-gradient(circle at 12% 0, rgba(66, 205, 240, .18), transparent 34%),
    linear-gradient(180deg, #12627f 0, #073a52 20%, #052b40 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 22px 55px rgba(0,0,0,.7), 0 0 24px rgba(24,190,232,.18);
}
.modal__box--message-report-confirm::before { content: none !important; }
.message-report-confirm-heading { display:flex; align-items:center; gap:14px; padding:0 42px 15px 0; border-bottom:1px solid rgba(89,211,239,.28); }
.message-report-confirm-heading > span { width:55px; height:55px; flex:0 0 55px; display:grid; place-items:center; border:3px solid #e6ad3b; border-radius:50%; color:#4b2900; background:linear-gradient(#ffe887,#dda029); box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 5px 13px rgba(0,0,0,.38); font-size:27px; font-weight:950; }
.message-report-confirm-heading h2 { margin:0; color:#fff; font-size:23px; text-shadow:0 2px 2px #00141e; }
.message-report-confirm-heading p { margin:5px 0 0; color:#9ddcea; font-size:13px; font-weight:850; }
.message-report-confirm-source { margin-top:15px; display:flex; justify-content:space-between; gap:12px; padding:10px 12px; border:1px solid rgba(72,202,234,.32); border-radius:9px; background:rgba(3,42,59,.72); }
.message-report-confirm-source b { color:#78dff2; font-size:10px; letter-spacing:.8px; }
.message-report-confirm-source span { color:#e6fbff; font-size:12px; font-weight:850; text-align:right; }
.modal__box--message-report-confirm blockquote { margin:12px 0; min-height:64px; padding:14px 15px; border:1px solid rgba(255,196,61,.48); border-left:4px solid #ffc43d; border-radius:9px; color:#fff; background:rgba(2,29,42,.8); box-shadow:inset 0 2px 7px rgba(0,0,0,.25); font-size:15px; font-weight:700; line-height:1.45; overflow-wrap:anywhere; }
.message-report-confirm-help { margin:0; padding:10px 12px; border-radius:9px; color:#b8d8e2; background:rgba(4,47,65,.78); font-size:12px; line-height:1.45; }
.message-report-confirm-actions { display:grid; grid-template-columns:1fr 1.25fr; gap:12px; margin-top:13px; }
.message-report-confirm-actions button { min-height:43px; border:1px solid rgba(121,218,239,.45); border-radius:10px; color:#dff9ff; background:linear-gradient(#17627d,#0b4058); box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 4px 10px rgba(0,0,0,.28); font-weight:950; cursor:pointer; }
.message-report-confirm-actions button:last-child { color:#422500; border-color:#fff08f; background:linear-gradient(#fff37b,#ffbd1c 58%,#d48200); }
.message-report-confirm-actions button:hover { filter:brightness(1.12); transform:translateY(-1px); }
.message-report-confirm-actions button:disabled { opacity:.65; cursor:wait; transform:none; }
@media (max-width: 620px) {
  .modal__box--message-report-confirm { padding:20px 17px; }
  .message-report-confirm-heading h2 { font-size:19px; }
  .message-report-confirm-actions { grid-template-columns:1fr; }
}


/* --- v157: clean guest entry, referrals and player search --- */
.app.is-guest .small-cabinet { display:none !important; }
.profile-card.is-guest {
  left:16px !important; bottom:18px !important; width:164px !important; height:58px !important;
  border:3px solid #ffe34d !important; border-radius:18px !important;
  background:linear-gradient(180deg,#fff47c 0%,#ffc827 42%,#e88c00 78%,#9d5200 100%) !important;
  box-shadow:0 8px 12px rgba(0,0,0,.48), inset 0 2px 0 rgba(255,255,255,.8), inset 0 -5px 0 rgba(101,50,0,.28), 0 0 16px rgba(255,198,25,.24) !important;
  overflow:visible; transform:translateZ(0); transition:filter .18s ease, transform .18s ease;
}
.profile-card.is-guest:hover { filter:brightness(1.08); transform:translateY(-2px); }
.profile-card.is-guest:active { transform:translateY(1px); }
.profile-card.is-guest::before {
  content:'♛'; display:grid !important; place-items:center; position:absolute; left:8px; top:8px;
  width:36px; height:36px; border-radius:50%; color:#ffe75e; font-size:24px; line-height:1;
  background:radial-gradient(circle at 38% 30%,#145c7c,#063248 65%,#021c2a);
  border:2px solid #ffd639; box-shadow:inset 0 0 8px rgba(41,205,255,.35),0 3px 5px rgba(0,0,0,.35);
}
.profile-card.is-guest strong {
  inset:0 4px 0 48px !important; min-width:0 !important; height:auto !important; padding:0 !important;
  display:flex; align-items:center; justify-content:center; border:0 !important; border-radius:0 !important;
  background:transparent !important; color:#2c1900 !important; font-size:21px !important; letter-spacing:.5px;
  line-height:1 !important; text-shadow:0 1px 0 rgba(255,255,255,.82),0 2px 2px rgba(101,47,0,.28) !important;
}
.profile-card.is-guest strong::before { display:none !important; }
.profile-card.is-guest .rank-wreath,.profile-card.is-guest .mod-bolt { display:none !important; }

.classic-rush-ui .left-tabs .invite-side-button {
  background:linear-gradient(90deg,#7c4900 0,#f0a713 18%,#ffe35c 48%,#bc7600 82%,#654000 100%) !important;
  color:#3c2400 !important; text-shadow:0 1px 0 rgba(255,255,255,.58) !important;
}
.classic-rush-ui .left-tabs .invite-side-button::before {
  content:'★'; position:absolute; left:50%; bottom:8px; transform:translateX(-50%); width:22px; height:22px;
  display:grid; place-items:center; border-radius:50%; background:#0a526f; color:#ffdf43; font-size:14px;
  border:2px solid #f9cd32; box-shadow:0 2px 4px rgba(0,0,0,.4);
}
.classic-rush-ui .left-tabs .invite-side-button:hover { filter:brightness(1.08); }
.bottom-buttons .player-search-menu-button { font-size:13px; line-height:.92; }
.bottom-buttons .player-search-menu-button::before {
  content:'⌕'; display:block; margin:-2px auto 2px; color:#f9ffff; font-size:21px; line-height:.8;
  text-shadow:0 2px 2px #4a2d00;
}

.modal__box--referral,.modal__box--player-search {
  width:760px; min-height:520px; padding:26px 34px 24px; overflow:hidden;
  border-color:#20c8ee; background:linear-gradient(180deg,#126481 0%,#073e59 42%,#052c43 100%);
}
.modal__box--referral::before,.modal__box--player-search::before { content:none !important; }
.referral-heading,.player-search-heading { display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:18px; }
.referral-heading>span,.player-search-heading>span {
  width:54px; height:54px; display:grid; place-items:center; border-radius:50%;
  color:#ffe454; font-size:31px; font-weight:950; background:radial-gradient(circle at 38% 30%,#1d91bb,#07506f 64%,#032f45);
  border:3px solid #f3bd27; box-shadow:inset 0 0 10px rgba(87,231,255,.4),0 5px 8px rgba(0,0,0,.38);
}
.referral-heading h2,.player-search-heading h2 { margin:0; font-size:30px; }
.referral-heading p,.player-search-heading p { margin:3px 0 0; color:#aee8f7; font-size:14px; font-weight:800; }
.referral-rewards { display:grid; grid-template-columns:1fr 56px 1fr; align-items:center; gap:12px; margin:12px 24px 20px; }
.referral-rewards article {
  min-height:145px; padding:18px 16px; border:2px solid rgba(38,202,239,.65); border-radius:16px;
  background:linear-gradient(180deg,rgba(9,85,115,.86),rgba(3,42,61,.92)); box-shadow:inset 0 0 20px rgba(32,196,235,.12),0 6px 10px rgba(0,0,0,.24);
}
.referral-rewards article small { display:block; color:#b8edf8; font-weight:950; letter-spacing:.6px; }
.referral-rewards article b { display:block; margin:6px 0 2px; color:#ffe247; font-size:38px; text-shadow:0 2px 2px #5a3100,0 0 10px rgba(255,196,24,.38); }
.referral-rewards article span { color:#e7f8ff; font-size:14px; font-weight:800; }
.referral-rewards>i { color:#ffe44b; font-style:normal; font-size:37px; text-shadow:0 3px 3px #000; }
.referral-link-field { display:block; margin:0 22px; text-align:left; }
.referral-link-field>span { display:block; margin:0 0 6px 5px; color:#bceefa; font-size:12px; font-weight:950; letter-spacing:.5px; }
.referral-link-field>div { display:flex; gap:8px; }
.referral-link-field input { flex:1; height:43px; border:2px solid #22c8ee; border-radius:10px; background:#031f30; color:#fff; padding:0 14px; font-size:17px; font-weight:800; outline:none; }
.referral-link-field button,.player-search-form button {
  min-width:150px; border-radius:12px; color:#321d00; font-weight:950; font-size:15px;
  background:linear-gradient(#fff273,#ffc626,#dc8100); box-shadow:inset 0 -4px rgba(105,58,0,.28),0 4px 6px rgba(0,0,0,.35);
}
.referral-stats { display:flex; justify-content:center; gap:48px; margin:15px 0 7px; color:#d9f5fc; font-size:14px; }
.referral-stats b { color:#ffe04a; font-size:18px; }
.referral-note { margin:8px 25px 0; padding:9px 12px; border:1px solid rgba(255,205,60,.34); border-radius:9px; color:#b9dbe5; background:rgba(2,28,41,.55); font-size:12px; line-height:1.35; }
.registration-referral-notice { position:relative; z-index:3; display:block; margin:8px 24px 0; padding:8px 10px; border:1px solid rgba(255,207,58,.55); border-radius:8px; color:#ffe36a; background:rgba(6,43,61,.86); font-size:12px; line-height:1.35; }
.registration-referral-notice[hidden] { display:none !important; }

.modal__box--player-search { min-height:585px; }
.player-search-form { display:flex; gap:9px; margin:0 26px; }
.player-search-form input { flex:1; height:45px; border:2px solid #20c8ee; border-radius:11px; background:#031f30; color:#fff; padding:0 14px; font-size:17px; outline:none; box-shadow:inset 0 3px 8px rgba(0,0,0,.28); }
.player-search-hint { margin:8px 28px 12px; color:#9fcbd7; font-size:12px; text-align:left; }
.player-search-results { height:350px; margin:0 20px; padding:7px; overflow-y:auto; border:2px solid rgba(31,191,228,.55); border-radius:13px; background:rgba(2,28,42,.7); }
.player-search-empty { min-height:100%; display:grid; place-items:center; color:#8eb9c7; font-size:16px; font-weight:800; }
.player-search-empty.is-loading::after { content:'…'; animation:searchDots 1s steps(4,end) infinite; }
@keyframes searchDots { 0%{opacity:.25} 50%{opacity:1} 100%{opacity:.25} }
.player-search-row {
  position:relative; width:100%; min-height:78px; margin:0 0 7px; padding:9px 132px 9px 78px; display:block; text-align:left;
  border:1px solid rgba(36,186,220,.55); border-radius:11px; color:#fff; background:linear-gradient(90deg,rgba(9,76,103,.9),rgba(4,45,65,.9));
  box-shadow:inset 0 1px rgba(255,255,255,.08); transition:filter .16s ease,transform .16s ease;
}
.player-search-row:hover { filter:brightness(1.12); transform:translateX(2px); }
.player-search-avatar { position:absolute; left:10px; top:9px; width:58px; height:58px; border-radius:12px; border:2px solid #28c5e9; background:linear-gradient(#dceaf0,#738c98); overflow:hidden; }
.player-search-avatar::before { content:''; position:absolute; left:18px; top:8px; width:21px; height:21px; border-radius:50%; background:#eef7fa; }
.player-search-avatar::after { content:''; position:absolute; left:10px; bottom:-8px; width:38px; height:35px; border-radius:50% 50% 12px 12px; background:#b7cbd4; }
.player-search-avatar.has-image { background-size:cover; background-position:center; }
.player-search-avatar.has-image::before,.player-search-avatar.has-image::after { display:none; }
.player-search-identity { display:block; }
.player-search-identity>b { display:block; font-size:17px; text-shadow:0 2px 2px #000; }
.player-search-identity>small { display:block; margin-top:4px; color:#9bcbd8; font-size:11px; }
.player-search-online { position:absolute; right:14px; top:12px; color:#91acb5; font-size:11px; font-weight:900; }
.player-search-online i { display:inline-block; width:8px; height:8px; margin-right:5px; border-radius:50%; background:#62757b; }
.player-search-online.is-online { color:#7aff8b; }
.player-search-online.is-online i { background:#35e85b; box-shadow:0 0 7px #35e85b; }
.player-search-rating { position:absolute; right:14px; top:32px; color:#c7e8f0; font-size:11px; }
.player-search-rating b { color:#ffe34e; }
.player-search-row>em { position:absolute; right:14px; bottom:10px; color:#46d8f5; font-size:11px; font-style:normal; font-weight:950; }

@media (max-width:900px) {
  .modal__box--referral,.modal__box--player-search { transform:scale(.86); }
}

/* --- v160: bright and welcoming guest login button --- */
.profile-card.is-guest {
  left: 16px !important;
  bottom: 18px !important;
  width: 166px !important;
  height: 60px !important;
  border: 3px solid #ffe172 !important;
  border-radius: 17px !important;
  background:
    linear-gradient(110deg, rgba(255,255,255,.28) 0 16%, transparent 34%),
    linear-gradient(180deg, #43e5ff 0%, #18b8df 48%, #087b9f 100%) !important;
  box-shadow:
    0 8px 13px rgba(0,0,0,.44),
    inset 0 2px 0 rgba(255,255,255,.7),
    inset 0 -4px 0 rgba(0,55,78,.3),
    0 0 18px rgba(52,215,255,.34),
    0 0 7px rgba(255,211,53,.32) !important;
  overflow: visible !important;
  transition: filter .18s ease, transform .18s ease, box-shadow .18s ease !important;
}
.profile-card.is-guest:hover {
  filter: brightness(1.1) saturate(1.06) !important;
  transform: translateY(-2px) !important;
  box-shadow:
    0 10px 15px rgba(0,0,0,.48),
    inset 0 2px 0 rgba(255,255,255,.78),
    inset 0 -4px 0 rgba(0,55,78,.27),
    0 0 24px rgba(52,215,255,.48),
    0 0 11px rgba(255,218,70,.42) !important;
}
.profile-card.is-guest:active {
  transform: translateY(1px) !important;
  filter: brightness(.98) !important;
}
.profile-card.is-guest::before {
  content: '➜' !important;
  display: grid !important;
  place-items: center !important;
  position: absolute !important;
  left: 8px !important;
  top: 8px !important;
  width: 38px !important;
  height: 38px !important;
  border: 2px solid #fff2a0 !important;
  border-radius: 50% !important;
  color: #174052 !important;
  background: linear-gradient(180deg, #fff6a0 0%, #ffd739 52%, #e89a0a 100%) !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.8),
    inset 0 -3px 0 rgba(135,72,0,.2),
    0 4px 7px rgba(0,0,0,.34) !important;
  font-family: Arial, sans-serif !important;
  font-size: 24px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.75) !important;
}
.profile-card.is-guest strong {
  inset: 0 5px 0 50px !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 950 !important;
  letter-spacing: .8px !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 2px rgba(0,48,68,.86), 0 0 7px rgba(255,255,255,.22) !important;
}
.profile-card.is-guest strong > .seat-nick__label {
  color: inherit !important;
  text-shadow: inherit !important;
}


/* --- v161: brighter guest login button with full illuminated label --- */
body.classic-rush-ui #app.is-guest .profile-card.is-guest {
  border-color: #fff18a !important;
  background:
    linear-gradient(115deg, rgba(255,255,255,.58) 0 12%, rgba(255,255,255,.12) 27%, transparent 44%),
    linear-gradient(180deg, #76f4ff 0%, #28dcff 42%, #08a9d5 76%, #047897 100%) !important;
  box-shadow:
    0 8px 13px rgba(0,0,0,.42),
    inset 0 2px 0 rgba(255,255,255,.9),
    inset 0 -4px 0 rgba(0,73,96,.24),
    0 0 24px rgba(48,224,255,.62),
    0 0 12px rgba(255,226,79,.55) !important;
}
body.classic-rush-ui #app.is-guest .profile-card.is-guest:hover {
  filter: brightness(1.08) saturate(1.12) !important;
  box-shadow:
    0 10px 16px rgba(0,0,0,.45),
    inset 0 2px 0 rgba(255,255,255,.95),
    inset 0 -4px 0 rgba(0,73,96,.2),
    0 0 31px rgba(48,224,255,.78),
    0 0 16px rgba(255,230,89,.68) !important;
}
body.classic-rush-ui #app.is-guest .profile-card.is-guest::before {
  border-color: #fff7b8 !important;
  color: #07364a !important;
  background: linear-gradient(180deg, #fffbd0 0%, #ffe45c 45%, #ffb815 100%) !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.95),
    inset 0 -3px 0 rgba(151,80,0,.18),
    0 4px 8px rgba(0,0,0,.32),
    0 0 11px rgba(255,222,61,.72) !important;
}
body.classic-rush-ui #app.is-guest .profile-card.is-guest > strong {
  inset: 4px 5px 4px 50px !important;
  transform: none !important;
  border: 1px solid rgba(255,255,255,.58) !important;
  border-radius: 9px 13px 13px 9px !important;
  background:
    linear-gradient(115deg, rgba(255,255,255,.55) 0 12%, transparent 31%),
    linear-gradient(180deg, #58edff 0%, #21d7fb 47%, #079fc9 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    inset 0 -3px 0 rgba(0,74,99,.2),
    0 0 10px rgba(77,229,255,.38) !important;
  color: #ffffff !important;
  text-shadow:
    0 2px 2px rgba(0,55,75,.95),
    0 0 6px rgba(255,255,255,.45) !important;
}
body.classic-rush-ui #app.is-guest .profile-card.is-guest > strong > .seat-nick__label {
  color: #ffffff !important;
  text-shadow:
    0 2px 2px rgba(0,55,75,.95),
    0 0 6px rgba(255,255,255,.45) !important;
}


/* --- v162: bright guest login button without outer glow --- */
body.classic-rush-ui #app.is-guest .profile-card.is-guest {
  box-shadow:
    0 8px 13px rgba(0,0,0,.42),
    inset 0 2px 0 rgba(255,255,255,.9),
    inset 0 -4px 0 rgba(0,73,96,.24) !important;
}
body.classic-rush-ui #app.is-guest .profile-card.is-guest:hover {
  box-shadow:
    0 10px 16px rgba(0,0,0,.45),
    inset 0 2px 0 rgba(255,255,255,.95),
    inset 0 -4px 0 rgba(0,73,96,.2) !important;
}
body.classic-rush-ui #app.is-guest .profile-card.is-guest::before {
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.95),
    inset 0 -3px 0 rgba(151,80,0,.18),
    0 4px 8px rgba(0,0,0,.32) !important;
}
body.classic-rush-ui #app.is-guest .profile-card.is-guest > strong {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    inset 0 -3px 0 rgba(0,74,99,.2) !important;
  text-shadow: 0 2px 2px rgba(0,55,75,.95) !important;
}
body.classic-rush-ui #app.is-guest .profile-card.is-guest > strong > .seat-nick__label {
  text-shadow: 0 2px 2px rgba(0,55,75,.95) !important;
}

/* ===== V163: Russian / English interface selector ===== */
html.i18n-pending body { visibility:hidden; }
.cabinet-language-field {
  display:grid;
  grid-template-columns:175px 1fr;
  gap:12px;
  align-items:center;
  min-height:36px;
  color:#d7edf7;
  font-weight:950;
  font-style:italic;
  text-shadow:0 2px 1px #000;
}
.cabinet-language-field > span { text-align:right; }
.cabinet-language-field select {
  width:100%;
  height:34px;
  box-sizing:border-box;
  padding:0 10px;
  border:2px solid #244252;
  border-radius:6px;
  outline:none;
  background:#f7fbff;
  color:#0b2431;
  font-weight:800;
  cursor:pointer;
}
.cabinet-language-field select:focus {
  border-color:#1ac8ed;
  box-shadow:0 0 0 2px rgba(26,200,237,.18);
}
html[lang="en"] .small-cabinet,
html[lang="en"] .bottom-buttons button { font-size:12px; line-height:1.05; }
html[lang="en"] .left-tabs button { font-size:14px; }
html[lang="en"] .modal__box--cabinet .cabinet-fields label,
html[lang="en"] .cabinet-gender-field,
html[lang="en"] .cabinet-language-field,
html[lang="en"] .cabinet-remember-field { grid-template-columns:190px 1fr; }

/* ===== v164: реальное количество игроков онлайн ===== */
.classic-rush-ui .top-tabs.top-tabs--online {
  left: 300px;
  right: auto;
  top: 1px;
  width: 334px;
  height: 61px;
  display: block;
  pointer-events: none;
}

.classic-rush-ui .online-players-card {
  position: relative;
  width: 100%;
  height: 57px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 0 48px 0 67px;
  overflow: hidden;
  border: 1px solid #d8a62d;
  border-radius: 3px 3px 16px 16px;
  color: #f7fbff;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), transparent 24%),
    radial-gradient(circle at 72% 15%, rgba(36,196,238,.19), transparent 42%),
    linear-gradient(180deg, #176682 0%, #0c4966 51%, #062f49 100%);
  box-shadow:
    0 5px 8px rgba(0,0,0,.38),
    inset 0 -5px rgba(0,0,0,.2),
    inset 0 1px rgba(255,255,255,.2),
    0 0 0 1px rgba(255,220,104,.12);
}

.classic-rush-ui .online-players-card::after {
  content: "";
  position: absolute;
  left: 11px;
  right: 11px;
  bottom: 5px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,214,82,.6), transparent);
}

.classic-rush-ui .online-players-card__people {
  position: absolute;
  left: 17px;
  top: 9px;
  width: 39px;
  height: 37px;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.42));
}

.classic-rush-ui .online-players-card__people i {
  position: absolute;
  display: block;
  border: 2px solid rgba(255,255,255,.75);
  background: linear-gradient(180deg, #fff07a, #e4a617);
}

.classic-rush-ui .online-players-card__people i:first-child {
  left: 3px;
  top: 2px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  box-shadow: 5px 13px 0 2px #e4a617;
}

.classic-rush-ui .online-players-card__people i:last-child {
  right: 2px;
  top: 7px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: linear-gradient(180deg, #e9fbff, #6bc9e9);
  box-shadow: -4px 12px 0 2px #6bc9e9;
}

.classic-rush-ui .online-players-card__label {
  position: relative;
  z-index: 1;
  white-space: nowrap;
  color: #fff3a4;
  font-size: 17px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: .15px;
  text-shadow: 0 2px 2px rgba(0,0,0,.7);
}

.classic-rush-ui .online-players-card #onlineCount {
  position: relative;
  z-index: 1;
  min-width: 31px;
  color: #72ff72;
  font-size: 25px;
  font-weight: 1000;
  line-height: 1;
  text-align: center;
  text-shadow: 0 0 8px rgba(61,255,102,.42), 0 2px 2px rgba(0,0,0,.75);
}

.classic-rush-ui .online-players-card__live {
  position: absolute;
  right: 20px;
  top: 23px;
  width: 10px;
  height: 10px;
  border: 1px solid rgba(221,255,221,.88);
  border-radius: 50%;
  background: #40e85c;
  box-shadow: 0 0 0 4px rgba(64,232,92,.13), 0 0 9px rgba(64,232,92,.85);
  animation: onlinePlayersPulse 1.9s ease-in-out infinite;
}

@keyframes onlinePlayersPulse {
  0%, 100% { opacity: .72; transform: scale(.92); }
  50% { opacity: 1; transform: scale(1.08); }
}

@media (prefers-reduced-motion: reduce) {
  .classic-rush-ui .online-players-card__live { animation: none; }
}
