:root {
  --bg: #0b0f1d; --panel: #131a2e; --panel2: #1a2240; --line: #26304f; --text: #e8ecff; --muted: #8b95b8;
  --gold: #f5c542; --green: #22c55e; --green2: #16a34a; --red: #ef4444; --orange: #f59e0b; --purple: #8b5cf6; --blue: #3b82f6;
  --radius: 14px;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; background: var(--bg); color: var(--text); font: 15px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
body { min-height: 100vh; background: radial-gradient(1200px 600px at 20% -10%, #1b2350 0%, transparent 60%), var(--bg); }
button { font: inherit; color: inherit; cursor: pointer; border: 0; }
button:disabled { cursor: not-allowed; opacity: .55; }
input, select { font: inherit; color: var(--text); background: #0d1326; border: 1px solid var(--line); border-radius: 10px; padding: 9px 10px; width: 100%; }
input:focus, select:focus { outline: 2px solid #3b4d8f; border-color: transparent; }
.muted { color: var(--muted); }

/* ─── Шапка ─── */
.top { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 16px; padding: 10px 18px;
  background: rgba(11, 15, 29, .92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
.logo { font-size: 20px; white-space: nowrap; }
.logo b { color: var(--gold); }
.tabs { display: flex; gap: 6px; flex: 1; overflow-x: auto; scrollbar-width: none; }
.tabs::-webkit-scrollbar { display: none; }
.tabs button { background: transparent; padding: 8px 12px; border-radius: 10px; white-space: nowrap; color: var(--muted); }
.tabs button.on { background: var(--panel2); color: var(--text); box-shadow: inset 0 0 0 1px var(--line); }
.tabs button:hover { color: var(--text); }
.me { display: flex; align-items: center; gap: 10px; }
.bal { display: flex; align-items: center; gap: 6px; background: var(--panel2); padding: 7px 12px; border-radius: 999px; box-shadow: inset 0 0 0 1px #3a3216; }
.bal b { color: var(--gold); font-variant-numeric: tabular-nums; }
.bal.up { animation: pop .5s; } .bal.down { animation: shake .35s; }
@keyframes pop { 40% { transform: scale(1.12); box-shadow: 0 0 0 3px rgba(34, 197, 94, .5); } }
@keyframes shake { 30% { transform: translateX(-3px); } 60% { transform: translateX(3px); } }
.who { display: flex; align-items: center; gap: 8px; color: var(--muted); max-width: 160px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ava { width: 30px; height: 30px; border-radius: 50%; background: var(--panel2); object-fit: cover; flex: none; display: inline-grid; place-items: center; font-size: 13px; }
.banner { background: #3a2a07; color: #ffd98a; padding: 8px 18px; text-align: center; font-size: 14px; }

/* ─── Раскладка ─── */
.layout { display: grid; grid-template-columns: 1fr 320px; gap: 16px; padding: 16px 18px 40px; max-width: 1440px; margin: 0 auto; }
.stage { min-width: 0; }
.side { background: var(--panel); border-radius: var(--radius); padding: 12px; height: fit-content; position: sticky; top: 76px; max-height: calc(100vh - 92px); overflow: auto; }
.side-tabs { display: flex; gap: 6px; margin-bottom: 10px; }
.side-tabs button { flex: 1; background: transparent; padding: 7px; border-radius: 9px; color: var(--muted); }
.side-tabs button.on { background: var(--panel2); color: var(--text); }
.feed { display: flex; flex-direction: column; gap: 4px; }
.fi { display: grid; grid-template-columns: 26px 1fr auto; gap: 8px; align-items: center; padding: 6px 8px; border-radius: 9px; background: #0f1529; font-size: 13px; animation: slidein .35s; }
.fi .ava { width: 26px; height: 26px; font-size: 11px; }
.fi .n { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.fi .g { color: var(--muted); font-size: 12px; }
.fi .p { text-align: right; font-variant-numeric: tabular-nums; }
.fi .p small { display: block; color: var(--muted); }
.win { color: var(--green); } .lose { color: var(--muted); } .big { color: var(--gold); }
@keyframes slidein { from { opacity: 0; transform: translateY(-6px); } }

/* ─── Общие блоки игр ─── */
.game { display: grid; grid-template-columns: 300px 1fr; gap: 16px; }
.panel { background: var(--panel); border-radius: var(--radius); padding: 14px; }
.ctrl { display: flex; flex-direction: column; gap: 12px; }
.lbl { font-size: 12px; color: var(--muted); margin-bottom: 5px; display: flex; justify-content: space-between; }
.betrow { display: flex; gap: 6px; }
.betrow input { flex: 1; min-width: 0; }
.betrow button, .chips button { background: var(--panel2); padding: 8px 10px; border-radius: 9px; min-width: 40px; }
.betrow button:hover, .chips button:hover { background: #24305a; }
.chips { display: flex; gap: 6px; flex-wrap: wrap; }
.chips button.on { background: #2b3b78; box-shadow: inset 0 0 0 1px #4c63c4; }
.go { width: 100%; padding: 14px; border-radius: 12px; font-weight: 700; font-size: 16px; background: linear-gradient(180deg, #2fd16b, #16a34a); color: #04210f; box-shadow: 0 6px 18px rgba(34, 197, 94, .25); transition: transform .08s; }
.go:active { transform: scale(.98); }
.go.red { background: linear-gradient(180deg, #f87171, #dc2626); color: #2b0606; box-shadow: 0 6px 18px rgba(239, 68, 68, .25); }
.go.orange { background: linear-gradient(180deg, #fbbf24, #f59e0b); color: #2b1a02; box-shadow: 0 6px 18px rgba(245, 158, 11, .3); }
.go.gray { background: var(--panel2); color: var(--muted); box-shadow: none; }
.go small { display: block; font-weight: 500; font-size: 12px; opacity: .85; }
.view { background: var(--panel); border-radius: var(--radius); position: relative; overflow: hidden; min-height: 420px; }
.note { font-size: 13px; color: var(--muted); }
.stat { display: flex; justify-content: space-between; font-size: 14px; padding: 4px 0; }
.stat b { font-variant-numeric: tabular-nums; }
.toggle { display: flex; background: #0d1326; border-radius: 10px; padding: 3px; gap: 3px; }
.toggle button { flex: 1; background: transparent; padding: 7px; border-radius: 8px; color: var(--muted); }
.toggle button.on { background: var(--panel2); color: var(--text); }

/* ─── Краш / Самолётик ─── */
.crash-wrap { display: flex; flex-direction: column; gap: 12px; }
.hist { display: flex; gap: 6px; overflow: hidden; padding: 2px; }
.hist span { padding: 4px 9px; border-radius: 999px; font-size: 13px; font-weight: 600; background: #17213f; color: #7fa7ff; white-space: nowrap; font-variant-numeric: tabular-nums; }
.hist span.mid { color: #c4a6ff; background: #241a44; } .hist span.hi { color: var(--gold); background: #3a2f0c; }
.canvas-box { position: relative; height: 380px; }
.canvas-box canvas { width: 100%; height: 100%; display: block; }
.crash-bets { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.slot { background: var(--panel); border-radius: var(--radius); padding: 12px; display: flex; flex-direction: column; gap: 10px; }
.auto { display: flex; gap: 8px; align-items: center; font-size: 13px; color: var(--muted); }
.auto input[type=checkbox] { width: auto; }
.auto input[type=number] { width: 90px; }
.players { background: var(--panel); border-radius: var(--radius); padding: 12px; }
.players .row { display: grid; grid-template-columns: 24px 1fr 80px 70px 80px; gap: 8px; align-items: center; font-size: 13px; padding: 4px 0; border-bottom: 1px solid #1a2240; }
.players .row .ava { width: 24px; height: 24px; font-size: 10px; }
.players .row.cashed { color: var(--green); }

/* ─── Переключатели скорости ─── */
.speeds { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.speeds button { background: var(--panel2); border-radius: 10px; padding: 8px; text-align: left; }
.speeds button b { display: block; font-size: 14px; }
.speeds button small { color: var(--muted); font-size: 12px; }
.speeds button.on { background: #2b3b78; box-shadow: inset 0 0 0 1px #4c63c4; }

/* ─── Апгрейдер ─── */
.up-view { display: grid; place-items: center; padding: 28px; min-height: 460px; }
.ring { position: relative; width: min(340px, 80vw); aspect-ratio: 1; }
.ring svg { width: 100%; height: 100%; }
.ring .center { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.ring .center .c { font-size: 42px; font-weight: 800; font-variant-numeric: tabular-nums; }
.ring .center .m { color: var(--gold); font-size: 18px; }
.ring .center .r { font-size: 14px; margin-top: 4px; height: 20px; }
.ring.win svg .track { stroke: #134e2c; } .ring.lose svg .track { stroke: #4a1717; }
.up-amounts { display: flex; gap: 22px; justify-content: center; margin-top: 18px; text-align: center; }
.up-amounts div b { display: block; font-size: 22px; font-variant-numeric: tabular-nums; }

/* ─── Мины ─── */
.mines-view { display: grid; place-items: center; padding: 22px; min-height: 460px; }
.grid5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; width: min(460px, 86vw); }
.tile { aspect-ratio: 1; border-radius: 12px; background: linear-gradient(180deg, #24305a, #1a2344); box-shadow: inset 0 -4px 0 #10172e; font-size: clamp(22px, 5vw, 34px);
  display: grid; place-items: center; transition: transform .12s, background .2s; }
.tile:not(:disabled):hover { transform: translateY(-2px); background: linear-gradient(180deg, #2c3a6c, #202a52); }
.tile.gem { background: radial-gradient(circle at 50% 40%, #1f6b47, #0f3b27); box-shadow: inset 0 0 0 2px #22c55e; animation: flip .35s; }
.tile.bomb { background: radial-gradient(circle at 50% 40%, #6b1f1f, #3b0f0f); box-shadow: inset 0 0 0 2px #ef4444; animation: flip .35s; }
.tile.dim { opacity: .45; }
.tile-model { display: block; width: min(72%, 54px); aspect-ratio: 1; object-fit: contain; pointer-events: none; }
.tile:disabled { opacity: 1; cursor: default; }
@keyframes flip { from { transform: rotateY(90deg); } }
.boom { animation: boom .5s; } @keyframes boom { 30% { transform: translateX(-6px); } 60% { transform: translateX(6px); } }

/* ─── Плинко ─── */
.plinko-view canvas { width: 100%; height: 100%; display: block; }
.plinko-box { position: relative; height: 520px; }

/* ─── Карты (блэкджек и покер) ─── */
.felt { background: radial-gradient(ellipse at 50% 0%, #1b6b45 0%, #0f4a2f 55%, #0b3522 100%); min-height: 460px; padding: 20px; display: flex; flex-direction: column; justify-content: space-between; gap: 18px; }
.cards { display: flex; gap: 10px; justify-content: center; min-height: 118px; flex-wrap: wrap; }
.card { width: 80px; height: 114px; border-radius: 10px; background: #fdfdfd; color: #111; position: relative; box-shadow: 0 6px 16px rgba(0, 0, 0, .35);
  display: flex; flex-direction: column; justify-content: space-between; padding: 6px 8px; font-weight: 700; animation: deal .35s both; user-select: none; }
.card.red { color: #d11; }
.card .tl { font-size: 18px; line-height: 1; } .card .br { font-size: 18px; line-height: 1; transform: rotate(180deg); align-self: flex-end; }
.card .mid { position: absolute; inset: 0; display: grid; place-items: center; font-size: 36px; }
.card.back { background: repeating-linear-gradient(45deg, #7c2d12 0 8px, #9a3412 8px 16px); box-shadow: inset 0 0 0 4px #fff, 0 6px 16px rgba(0, 0, 0, .35); }
.card.back > * { display: none; }
@keyframes deal { from { opacity: 0; transform: translate(40px, -30px) rotate(8deg); } }
.who-lbl { text-align: center; color: #cfe9da; font-size: 14px; }
.who-lbl b { color: #fff; font-size: 18px; }
.hands { display: flex; gap: 24px; justify-content: center; flex-wrap: wrap; }
.hand { padding: 8px; border-radius: 12px; }
.hand.act { box-shadow: 0 0 0 2px var(--gold); }
.res { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 13px; font-weight: 700; margin-top: 6px; }
.res.win, .res.blackjack { background: #14532d; color: #86efac; } .res.lose, .res.bust { background: #4c0f0f; color: #fca5a5; } .res.push { background: #333c5a; color: #c7d2fe; }
.acts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.acts button { padding: 12px 6px; border-radius: 11px; background: var(--panel2); font-weight: 600; }
.acts button:not(:disabled):hover { background: #24305a; }
.poker-cards .card { cursor: pointer; width: 92px; height: 130px; }
.poker-cards .card.held { transform: translateY(-10px); box-shadow: 0 0 0 3px var(--gold), 0 10px 20px rgba(0, 0, 0, .4); }
.poker-cards .slotc { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.hold-lbl { font-size: 12px; font-weight: 800; color: var(--gold); height: 16px; letter-spacing: .05em; }
.paytable { width: 100%; border-collapse: collapse; font-size: 13px; }
.paytable td { padding: 4px 6px; border-bottom: 1px solid #1a2240; }
.paytable td:last-child { text-align: right; color: var(--gold); font-variant-numeric: tabular-nums; }
.paytable tr.hit td { background: #3a2f0c; color: #fff; }

/* ─── Всплывашки и вход ─── */
.toasts { position: fixed; bottom: 18px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; gap: 8px; z-index: 50; }
.toast { background: #2a1420; color: #ffd1dc; padding: 10px 16px; border-radius: 12px; box-shadow: 0 8px 24px rgba(0, 0, 0, .4); animation: slidein .25s; max-width: 90vw; }
.toast.ok { background: #10301f; color: #b6f5cd; }
.auth { position: fixed; inset: 0; background: rgba(5, 8, 18, .92); display: grid; place-items: center; z-index: 60; }
.auth-card { background: var(--panel); padding: 28px; border-radius: 18px; max-width: 380px; text-align: center; margin: 16px; }
.auth-card .big { font-size: 54px; }

/* ─── Телефон ─── */
@media (max-width: 1060px) {
  .layout { grid-template-columns: 1fr; }
  .side { position: static; max-height: none; }
}
@media (max-width: 760px) {
  .top { flex-wrap: wrap; padding: 8px 16px; gap: 8px; }
  .tabs { order: 3; flex-basis: 100%; }
  .who span { display: none; }
  .layout { padding: 12px 16px 32px; }
  .game { grid-template-columns: 1fr; }
  .game .ctrl { order: 2; }
  .canvas-box { height: 280px; }
  .plinko-box { height: 400px; }
  .card { width: 62px; height: 90px; } .card .mid { font-size: 28px; }
  .poker-cards .card { width: 58px; height: 84px; }
  .players .row { grid-template-columns: 24px 1fr 64px 56px 64px; }
}

/* KVN Airlines */
.plane-game {
  border: 1px solid #343a69;
  border-radius: 18px;
  overflow: hidden;
  background: #0f1330;
  box-shadow: 0 18px 40px #05071880;
}
.plane-scene { position: relative; height: clamp(350px, 42vw, 510px); background: #151843; }
.plane-scene canvas { display: block; width: 100%; height: 100%; }
.plane-brand {
  position: absolute;
  inset: 19px 56px auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(2px, 1.1vw, 11px);
  text-align: center;
  color: #f7e3b3;
  filter: drop-shadow(0 4px 1px #070a28) drop-shadow(0 0 13px #824fe155);
  pointer-events: none;
}
.plane-brand div { display: grid; line-height: .83; }
.plane-brand span {
  font-size: clamp(17px, 3vw, 29px);
  font-weight: 950;
  letter-spacing: .20em;
  margin-left: .20em;
}
.plane-brand b {
  font-size: clamp(24px, 4.4vw, 48px);
  font-weight: 950;
  letter-spacing: .035em;
  color: #d5b4ff;
  -webkit-text-stroke: .5px #f0e4ff;
}
.plane-brand i {
  flex: 0 1 clamp(26px, 7vw, 81px);
  height: clamp(19px, 4vw, 39px);
  background: repeating-linear-gradient(#ffd878 0 6px,#a65c24 6px 8px);
  clip-path: polygon(0 0,100% 25%,100% 100%,32% 75%);
}
.plane-brand i:last-child { transform: scaleX(-1); }
.plane-audio {
  position: absolute;
  top: 14px;
  right: 15px;
  z-index: 2;
}
.plane-sound {
  display: grid;
  justify-items: center;
  align-content: center;
  line-height: 1;
  gap: 3px;
  width: 41px;
  height: 41px;
  border-radius: 12px;
  background: #111335b8;
  border: 1px solid #bdb5ff55;
  cursor: pointer;
  list-style: none;
}
.plane-sound small { font-size: 9px; color: #ded9fb; }
.plane-sound::-webkit-details-marker { display: none; }
.plane-sound:hover { background: #242555; }
.plane-audio-panel {
  position: absolute;
  top: calc(100% + 7px);
  right: 0;
  width: 188px;
  padding: 8px;
  border: 1px solid #534e88;
  border-radius: 12px;
  background: #121638;
  box-shadow: 0 6px 20px #080a24bd;
}
.plane-audio-toggle, .plane-audio-test {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 7px 8px;
  border-radius: 6px;
  background: transparent;
  text-align: left;
}
.plane-audio-toggle:hover, .plane-audio-test:hover { background: #242555; }
.plane-audio-toggle::after { content: "Выкл"; color: #a7accd; font-size: 12px; align-self: center; }
.plane-audio-toggle[aria-pressed="true"]::after { content: "Вкл"; color: #80ecc3; }
.plane-audio-test { color: #e7c8ff; }
.plane-audio-status { display: block; color: #b2b8da; padding-inline: 8px; }
.plane-message {
  position: absolute;
  left: 50%;
  top: 28%;
  transform: translateX(-50%);
  max-width: 95%;
  padding: 6px 17px;
  border-radius: 100px;
  background: #101338de;
  border: 1px solid #7975bc;
  color: #ede7ff;
  white-space: nowrap;
  font-weight: 750;
}
.plane-message.win { color: #87ffd0; border-color: #3fcc94; }
.plane-message.lost { color: #ff9bac; border-color: #d44b72; }
.plane-cockpit {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  column-gap: 20px;
  row-gap: 15px;
  padding: 15px 19px 18px;
  border-top: 1px solid #323767;
  background: linear-gradient(155deg,#1b1b48,#111530 75%);
}
.plane-instruments { grid-column: 1; min-width: 0; }
.plane-instruments .stat { margin-top: 6px; }
.plane-meters {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 1px;
  padding: 4px;
  border-radius: 12px;
  background: #0b1030;
  border: 1px solid #363868;
  text-align: center;
}
.plane-meters > div { padding: 6px; min-width: 0; }
.plane-meters > div + div { border-left: 1px solid #33345e; }
.plane-meters span { display: block; color: #aaaed8; font-size: 10px; letter-spacing: .055em; text-transform: uppercase; }
.plane-meters b { font-size: 18px; font-variant-numeric: tabular-nums; white-space: nowrap; color: #f6efff; }
.plane-meters > div:nth-child(n+3) b { color: #ffd780; }
.plane-inputs {
  grid-column: 1;
  display: grid;
  grid-template-columns: minmax(180px,1.35fr) minmax(158px,1.06fr) minmax(105px,.72fr);
  gap: 12px;
  align-items: start;
}
.plane-speed .speeds { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; }
.plane-speed .speeds button {
  padding: 3px;
  min-width: 0;
  text-align: center;
  background: #171a3d;
  border: 1px solid #3b3e72;
  border-radius: 9px;
}
.plane-speed .speeds button.on { border-color: #9b7cfa; background: #362666; box-shadow: none; }
.plane-speed .speeds button b { font-size: 17px; }
.plane-speed .speeds button small { color: #c2b8eb; font-size: 10px; line-height: 1.2; white-space: nowrap; }
.plane-bet .betrow { gap: 3px; }
.plane-bet .betrow button { padding: 5px 4px; min-width: 24px; }
.plane-bet .betrow input { padding-inline: 7px; }
.plane-ignition {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 6px;
  min-width: 90px;
}
.plane-launch {
  display: grid;
  place-items: center;
  width: 80px;
  aspect-ratio: 1;
  padding-left: 10px;
  border: 3px solid #e4cbff;
  border-radius: 50%;
  background: radial-gradient(circle at 42% 36%,#925dea,#5137a1 62%,#24214d);
  box-shadow: 0 0 22px #884df955,inset 0 0 0 4px #ab83fe35;
  color: white;
  font-size: 35px;
  line-height: 1;
}
.plane-launch:not(:disabled):hover { filter: brightness(1.15); }
.plane-launch.stop { background: #80375a; padding-left: 0; }
.plane-action { color: #ddd4fa; font-size: 13px; font-weight: 750; white-space: nowrap; }
.plane-guide { margin: 0; padding: 10px 18px 12px; border-top: 1px solid #272c53; color: #a7afd1; font-size: 12px; }
@media (max-width: 1180px) and (min-width: 1061px), (max-width: 775px) {
  .plane-inputs { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .plane-speed { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
  .plane-scene { height: 338px; }
  .plane-brand { inset: 20px 47px auto; }
  .plane-audio { top: 10px; right: 9px; }
  .plane-sound { width: 35px; height: 35px; }
  .plane-cockpit { padding: 11px 10px 13px; column-gap: 9px; row-gap: 11px; }
  .plane-instruments { grid-column: 1 / -1; }
  .plane-meters > div { padding-inline: 2px; }
  .plane-meters span { font-size: 9px; letter-spacing: 0; }
  .plane-meters b { font-size: 14px; }
  .plane-inputs { grid-template-columns: 1fr; }
  .plane-ignition { grid-row: 2; min-width: 58px; }
  .plane-launch { width: 61px; font-size: 25px; }
  .plane-action { font-size: 11px; }
}

/* KVN Originals shell */
:root { --bg:#120d20; --panel:#21182f; --panel2:#30223f; --line:#3d2c50; --purple:#a14dff; --muted:#ac9aba; --gold:#f1cd80; }
html,body { background:#120d20; color:#f1eafa; }
body { padding-left:88px; background:radial-gradient(900px 500px at 45% -180px,#3f1f66,transparent),#120d20; }
button,a,input,select { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:2px solid #d2a5ff; outline-offset:3px; }
button:disabled { opacity:.54; }
.top { position:sticky; top:0; z-index:20; padding:16px 26px; min-height:76px; background:#160f23ed; border-color:#342440; gap:24px; }
.logo { display:flex; align-items:baseline; gap:7px; padding:0; background:none; }
.logo b { color:#f3dcad; font-weight:950; letter-spacing:-1.5px; font-size:29px; }
.logo span { font-weight:850; font-size:18px; letter-spacing:.05em; color:#f4e8ff; }
.logo small { padding-left:6px; font-size:9px; letter-spacing:.08em; color:#b998d3; }
.header-caption { color:#aa98ba; font-size:12px; flex:1; }
.me { margin-left:auto; }
.bal { border-radius:12px; background:#261c35; box-shadow:inset 0 0 0 1px #5b414c; min-height:39px; }
.bal > span { color:#e9c87f; }
.bal b { color:#f8dfaa; }
.who { color:#cebddd; font-size:13px; }
.ava { background:#493557; }
.login-button { border:1px solid #a260df; border-radius:10px; background:#8a39d4; padding:9px 14px; font-weight:700; font-size:13px; white-space:nowrap; }
.login-button:hover { background:#a14bec; }
.casino-rail { position:fixed; z-index:30; top:0; bottom:0; left:0; width:88px; background:#21162e; border-right:1px solid #392448; display:flex; flex-direction:column; align-items:center; padding:16px 8px; }
.rail-brand { position:relative; height:43px; width:43px; margin-bottom:22px; border-radius:13px; background:linear-gradient(145deg,#c67bff,#793cc7); font-size:29px; line-height:1; font-weight:950; box-shadow:0 5px 20px #8d3bcb40; }
.rail-brand span { font-size:12px; position:absolute; right:4px; top:4px; color:#f9db90; }
.tabs { display:flex; flex:1; flex-direction:column; gap:7px; width:100%; overflow:auto; scrollbar-width:none; }
.tabs button { width:100%; flex:none; border-radius:11px; background:transparent; padding:7px 1px; display:grid; gap:3px; justify-items:center; color:#bdaacb; font-size:14px; white-space:normal; }
.tabs button > span { font-size:22px; height:27px; }
.tabs button > small { font-size:9px; letter-spacing:-.2px; }
.tabs button.on { color:white; background:#923ae5; box-shadow:0 4px 15px #9d41ea29; }
.tabs button:hover { background:#453050; color:white; }
.tabs button.on:hover { background:#a448f4; }
.rail-help { background:#382344; width:33px; height:33px; border-radius:50%; margin-top:14px; }
.layout { grid-template-columns:minmax(0,1fr) 270px; max-width:1600px; padding:22px 26px 35px; gap:20px; }
.game-main { min-width:0; }
.game-page-head { display:flex; align-items:center; gap:15px; margin:0 0 16px; min-height:33px; }
.game-page-head h1 { margin:0; font-size:18px; letter-spacing:-.25px; }
.game-page-head > span { margin-left:auto; font-size:10px; font-weight:750; letter-spacing:.08em; color:#a58bb9; text-transform:uppercase; }
.back-lobby { color:#cfb9e0; background:#30213f; padding:7px 11px; border-radius:8px; font-size:12px; }
.side { background:#1c1428; padding:13px; border:1px solid #34243f; top:98px; max-height:calc(100vh - 120px); }
.side-heading { display:flex; align-items:center; gap:7px; color:#e5d2f2; font-size:13px; font-weight:750; padding:3px 2px 12px; }
.live-dot { width:6px; height:6px; background:#76e7b0; border-radius:50%; box-shadow:0 0 0 3px #78e6b012; }
.side-tabs button { font-size:12px; }
.side-tabs button.on { background:#392445; color:#f3e1ff; }
.fi { background:#281b35; }
.fi .g { color:#aa95b9; }
.game { grid-template-columns:250px minmax(0,1fr); }
.panel { background:#21172d; }
.ctrl .go { background:linear-gradient(#b252ff,#8c3cdd); color:white; box-shadow:0 5px 15px #8a30c329; }
.view { background:#21162f; }
input,select { background:#241a31; border-color:#483357; }
input:focus,select:focus { outline-color:#b474f0; }
.casino-footer { max-width:1600px; margin:auto; padding:4px 26px 27px; display:flex; align-items:center; gap:20px; color:#877294; font-size:11px; }
.casino-footer b { color:#b89eca; font-size:11px; }
.casino-footer > span:last-child { margin-left:auto; }
.auth { background:#110a1ce8; }
.auth-card { position:relative; background:#2b1a3d; border:1px solid #69497e; box-shadow:0 20px 80px #0007; padding:27px; }
.auth-close { position:absolute; right:9px; top:8px; width:28px; height:28px; border-radius:8px; background:transparent; color:#bda7ce; font-size:23px; }
.auth-symbol { color:#f5d28a; font-size:42px; }
.auth-card h2 { color:#f6e8ff; font-size:23px; margin:8px 0 13px; }
.auth-card p { color:#d8c5e5; line-height:1.7; }
.auth-card p.muted { color:#ab92bb; font-size:13px; }
.auth-card .login-button { margin-top:8px; }
.at-lobby .layout { grid-template-columns:minmax(0,1fr); }
.at-lobby .side { position:static; max-height:240px; }
.at-lobby .side .feed { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.at-lobby .side-tabs { max-width:300px; }
.casino-lobby h2 { margin:0; font-size:23px; letter-spacing:-.4px; }
.lobby-hero { position:relative; min-height:314px; overflow:hidden; border-radius:20px; border:1px solid #76539477; background:radial-gradient(ellipse at 82% 36%,#7254b3 0,transparent 58%),linear-gradient(115deg,#2c194c,#412772 62%,#33307e); }
.hero-copy { position:relative; z-index:2; max-width:51%; padding:30px 34px; }
.eyebrow { display:block; color:#be91e3; font-size:10px; font-weight:800; letter-spacing:.17em; }
.hero-copy .eyebrow { color:#efca86; font-size:11px; margin-bottom:13px; }
.hero-copy h1 { color:#fff5ff; font-size:clamp(28px,3.9vw,52px); line-height:1.02; letter-spacing:-1.7px; margin:0; font-weight:900; }
.hero-copy h1 em { font-style:normal; color:#f2d496; }
.hero-copy p { color:#d7c3eb; max-width:325px; line-height:1.6; font-size:13px; margin:14px 0 18px; }
.hero-play { padding:12px 20px; border-radius:10px; background:#dfbe7b; color:#301a3d; font-weight:850; box-shadow:0 7px 17px #14072435; }
.hero-play:hover { background:#f4d69a; }
.hero-art { position:absolute; inset:0 0 0 43%; pointer-events:none; }
.hero-moon { position:absolute; width:110px; height:110px; top:28px; right:17%; border-radius:50%; background:#e4caff; box-shadow:0 0 75px #cc8dff80; opacity:.65; }
.hero-island { position:absolute; width:83%; right:-5%; bottom:-8%; opacity:.83; transform:rotate(-4deg); }
.hero-plane { position:absolute; width:83%; top:30%; left:-6%; transform:rotate(-13deg); filter:drop-shadow(8px 14px 9px #130a334d); }
.hero-stamp { position:absolute; bottom:14px; right:21px; color:#e1c3f2; font-size:11px; letter-spacing:.03em; }
.lobby-bar { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:29px 0 17px; }
.lobby-count { display:inline-block; font-size:12px; font-weight:500; margin-left:11px; color:#a78bb9; }
.game-search { display:flex; align-items:center; width:min(290px,45%); background:#271a35; border:1px solid #443052; border-radius:11px; padding-left:12px; }
.game-search > span { font-size:24px; color:#a68abb; }
.game-search input { border:0; background:transparent; width:100%; padding:10px 11px; font-size:13px; }
.lobby-filters { display:flex; gap:6px; margin-bottom:19px; overflow:auto; scrollbar-width:none; }
.lobby-filter { flex:none; background:#25192f; border:1px solid #3a2749; border-radius:9px; padding:9px 15px; font-size:12px; color:#bfa8d0; }
.lobby-filter.on { background:#8d3fce; border-color:#a359df; color:white; }
.lobby-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:13px; }
.lobby-game { position:relative; min-width:0; }
.game-cover { display:block; position:relative; text-decoration:none; border-radius:14px; overflow:hidden; border:1px solid #72548230; transition:transform .18s,border-color .18s; }
.game-cover:hover { transform:translateY(-4px); border-color:#c68bf2; }
.game-play { position:absolute; inset:0; display:grid; place-content:center; background:#1c0c38bb; font-weight:850; font-size:14px; color:white; opacity:0; transition:opacity .18s; }
.game-cover:hover .game-play,.game-cover:focus-visible .game-play { opacity:1; }
.game-poster { position:relative; aspect-ratio:3/4; overflow:hidden; background:#2d224b; isolation:isolate; }
.game-poster::after { content:""; position:absolute; inset:35% 0 0; z-index:-1; background:linear-gradient(transparent,#160c36ed); }
.game-poster img { position:absolute; }
.poster-series { position:absolute; left:8px; right:8px; top:12px; color:#eddaffb8; font-size:7px; letter-spacing:.13em; text-align:center; font-weight:700; }
.poster-name { position:absolute; left:8px; right:8px; bottom:14px; text-align:center; font-size:clamp(14px,1.25vw,21px); line-height:.97; letter-spacing:-.6px; text-shadow:0 3px 3px #190b3980; color:#fff4ff; }
.game-poster > img.poster-plane { width:110%; left:-12%; top:27%; transform:rotate(-23deg); filter:drop-shadow(0 10px 10px #0b183c99); }
.poster-island { width:130%; left:-14%; top:31%; opacity:.64; }
.poster-plane.game-poster { background:radial-gradient(ellipse at 50% 34%,#706bd3,#2e267b 63%,#342055); }
.poster-crash { background:radial-gradient(ellipse at 50% 33%,#8e425c,#3f183c 60%,#211326); }
.poster-rocket { width:110%; left:-1%; top:28%; transform:rotate(-48deg); filter:drop-shadow(-4px 16px 4px #ef648233); }
.poster-curve { position:absolute; width:83%; height:44%; top:21%; left:-12%; border-bottom:6px solid #fd768d; border-radius:0 0 95% 0; transform:rotate(-15deg); opacity:.7; }
.poster-value { position:absolute; top:14%; right:20%; color:#ffc39b; font-size:30px; font-weight:900; opacity:.7; }
.poster-mines { background:radial-gradient(ellipse at 50% 26%,#399c80,#1b504a 45%,#1a283a); }
.poster-grid { position:absolute; inset:24% 8% 28%; display:grid; grid-template-columns:repeat(3,1fr); gap:4px; transform:rotate(-13deg); opacity:.6; }
.poster-grid i { border:1px solid #89c7b977; border-radius:4px; background:#1d5a4a; }
.poster-gem { width:74%; top:18%; left:-7%; transform:rotate(-17deg); filter:drop-shadow(1px 9px 5px #093d4980); }
.poster-mine { width:64%; top:34%; right:-4%; transform:rotate(12deg); }
.poster-plinko { background:radial-gradient(ellipse at 50% 25%,#984572,#59264e 50%,#2c1c41); }
.poster-plinko > div { position:absolute; inset:13% -2% 15%; }
.poster-plinko svg { width:100%; height:100%; filter:drop-shadow(0 0 6px #f3a1bc55); }
.poster-upgrade { background:radial-gradient(ellipse at 50% 30%,#ae8150,#503051 58%,#261837); }
.poster-ring { position:absolute; width:78%; aspect-ratio:1; left:11%; top:23%; border-radius:50%; padding:8px; background:conic-gradient(from 18deg,#f4d18a 0 29%,#a2e6bb 29% 49%,#49314e 49% 100%); box-shadow:0 0 0 4px #e4c18144,0 8px 15px #22101f99; }
.poster-ring span { display:grid; height:100%; place-items:center; border-radius:50%; background:#49324a; color:#f4d291; font-size:48px; font-weight:900; }
.poster-bj { background:radial-gradient(ellipse at 50% 30%,#426d9e,#233958 58%,#191f36); }
.poster-poker { background:radial-gradient(ellipse at 50% 30%,#af7f48,#594133 58%,#28202f); }
.poster-cards { position:absolute; width:83%; height:58%; top:20%; left:8%; }
.poster-card { position:absolute; top:7%; width:53%; height:79%; border-radius:6px; background:linear-gradient(140deg,#fff9e8,#e3d2d2); color:#2c1a3c; box-shadow:1px 5px 8px #13082966; padding:8%; font-size:15px; }
.poster-card > span { position:absolute; font-size:35px; left:22%; top:30%; }
.poster-card.card-0 { left:0; transform:rotate(-17deg); }
.poster-card.card-1 { left:26%; transform:rotate(3deg); color:#ca3c63; top:0; }
.poster-card.card-2 { left:48%; transform:rotate(21deg); }
.game-favorite { position:absolute; top:8px; right:8px; width:27px; height:27px; background:#1b1327a6; color:#f5dcaa; border-radius:8px; font-size:20px; line-height:1; }
.game-favorite[aria-pressed="true"] { background:#63452d; color:#ffe6a1; }
.game-caption { padding:9px 2px 5px; }
.game-caption h3 { font-size:13px; margin:0 0 3px; font-weight:750; color:#e5d7ef; }
.game-caption > span { font-size:10px; color:#9d85af; }
.lobby-empty { border:1px dashed #61426b; border-radius:12px; padding:35px 20px; text-align:center; color:#b79ac8; }
.lobby-info { display:flex; justify-content:center; gap:35px; padding:24px 8px 2px; color:#997da9; font-size:11px; }

/* Mines and Plinko game clients */
.originals-game { border:1px solid #4c2f5e; border-radius:17px; background:#1a1027; overflow:hidden; }
.originals-title { display:flex; align-items:center; justify-content:space-between; padding:17px 21px; border-bottom:1px solid #382143; }
.originals-title > div { display:flex; align-items:center; gap:12px; }
.originals-title .eyebrow { font-size:8px; max-width:58px; letter-spacing:.1em; line-height:1.5; }
.originals-title h2 { margin:0; letter-spacing:-.7px; font-size:23px; font-weight:900; }
.originals-sound { width:34px; height:31px; border-radius:10px; background:#3b274b; font-size:14px; }
.originals-body { display:grid; grid-template-columns:235px minmax(0,1fr); gap:17px; padding:17px; }
.originals-controls { display:flex; flex-direction:column; gap:11px; min-width:0; }
.originals-box { border:1px solid #443054; background:#281c36; border-radius:12px; padding:12px; }
.originals-box > .lbl { margin-bottom:10px; }
.originals-box .lbl:has(select) { flex-direction:column; gap:7px; }
.originals-go { margin-top:11px; background:linear-gradient(#af4dff,#9239dd); color:white; box-shadow:0 6px 19px #a13ed122; border:1px solid #b867ff; border-radius:9px; padding:13px 8px; font-size:14px; }
.originals-go.cashout { background:linear-gradient(#e9c67e,#cf9b54); color:#311c36; border-color:#f9dfa3; box-shadow:0 6px 16px #dfb0611c; }
.originals-controls .betrow { flex-wrap:wrap; gap:4px; }
.originals-controls .betrow input { width:100%; flex-basis:100%; background:#33283e; border-color:#5b4569; font-weight:750; }
.originals-controls .betrow button { flex:1; padding:6px; border-radius:5px; min-width:30px; background:#3c2d4e; }
.originals-metrics { display:grid; grid-template-columns:1fr 1fr; gap:14px 4px; }
.originals-metric { min-width:0; }
.originals-metric small { display:block; font-size:10px; color:#b397c8; margin-bottom:3px; }
.originals-metric b { font-size:17px; color:#ead9fa; font-variant-numeric:tabular-nums; }
.originals-metric:last-child { grid-column:1 / -1; }
.originals-metric:last-child b { color:#f4d797; }
.mines-presets { display:flex; gap:4px; }
.mines-presets button { background:#3b2b4d; padding:7px 0; flex:1; border-radius:6px; font-size:12px; color:#c6aed6; }
.mines-presets button.on { background:#6a4383; color:#fff1ff; box-shadow:inset 0 0 0 1px #ab72c4; }
.originals-instructions { margin:1px 3px; font-size:11px; line-height:1.65; color:#a78ab8; }
.originals-board { position:relative; min-width:0; }
.mines-board { padding-top:10px; }
.mine-stage { display:flex; align-items:center; justify-content:center; gap:12px; }
.originals-grid { width:min(360px,100%); max-width:360px; flex:0 1 360px; gap:7px; }
.originals-grid .tile { position:relative; overflow:hidden; background:linear-gradient(155deg,#48345c,#30233f); border:1px solid #604576; border-radius:8px; box-shadow:inset 0 -4px 0 #1f162e; transition:transform .13s,border-color .13s; }
.originals-grid .tile.mine-cover:not(:disabled):hover { border-color:#c18be5; background:linear-gradient(155deg,#644376,#463050); transform:translateY(-2px); }
.cover-symbol { display:grid; place-items:center; width:45%; height:54%; font-size:clamp(14px,2.4vw,29px); font-weight:950; color:#8e71a54d; border:2px solid #9677af29; border-radius:6px; transform:skew(-6deg); }
.originals-grid .tile.gem { background:radial-gradient(circle,#3f6d64,#25483f); border-color:#67c6a3; box-shadow:inset 0 -3px 0 #13382c; animation:none; }
.originals-grid .tile.bomb { background:radial-gradient(circle,#9c4662,#54263f); border-color:#e7709d; box-shadow:inset 0 -3px 0 #3c1c37; animation:none; }
.originals-grid .tile.reveal-new { animation:originals-flip .3s ease-out; }
.originals-grid .tile.reveal-final { animation:originals-fade .28s ease-out; }
.originals-grid .tile.dim { opacity:.36; }
.originals-grid .tile.hit { box-shadow:0 0 22px #f06a8e3a,inset 0 -3px 0 #3c1c37; }
.originals-grid .tile.pending::after { content:""; position:absolute; width:19px; height:19px; border:2px solid #ddc0f74d; border-top-color:#f5e5ff; border-radius:50%; animation:originals-spin .6s linear infinite; }
.board-counter { flex:0 0 44px; display:grid; gap:4px; justify-items:center; }
.board-counter img { width:44px; height:46px; object-fit:contain; }
.board-counter b { background:#3b254c; border-radius:15px; min-width:35px; text-align:center; padding:3px 7px; font-size:12px; color:#e0c6f4; }
.board-hint { margin:12px 0; color:#bda3cf; font-size:11px; text-align:center; min-height:17px; }
.mines-ladder { display:flex; gap:5px; overflow:auto; scrollbar-width:none; padding:1px 0 7px; }
.mines-ladder > span { min-width:56px; border-radius:7px; border:1px solid #463050; background:#2b1c39; padding:5px 6px; text-align:center; }
.mines-ladder small { display:block; font-size:8px; color:#9d7fb4; }
.mines-ladder b { font-size:11px; color:#cfb8df; font-variant-numeric:tabular-nums; }
.mines-ladder .next { border-color:#ba81e0; background:#58316f; }
.mines-ladder .next b { color:#f5e1ff; }
.mines-result { display:flex; align-items:center; justify-content:space-between; gap:12px; background:#28203c; border:1px solid #684887; padding:11px 13px; border-radius:9px; margin-top:7px; font-size:12px; }
.mines-result b { font-size:17px; }
.round-win { color:#9df0c9; border-color:#40816c; }
.round-loss { color:#ffa6c7; border-color:#985371; }
.originals-rows { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#bba0cc; font-size:12px; margin-top:14px; }
.originals-rows select { width:75px; padding:7px 8px; }
.originals-check { display:flex; align-items:center; gap:10px; font-size:12px; color:#d3bedf; }
.originals-check input { width:17px; height:17px; accent-color:#b357f2; }
.originals-controls .toggle { background:#39264b; padding:3px; }
.originals-controls .toggle button { padding:7px 2px; font-size:11px; }
.originals-controls .toggle button.on { background:#775193; color:white; }
.plinko-results { display:flex; gap:5px; overflow:hidden; padding:0 2px 12px; min-height:34px; }
.plinko-results > span { padding:3px 8px; border-radius:6px; background:#382347; color:#bea1d2; font-size:11px; font-weight:750; }
.plinko-results > span.positive { background:#4f2d69; color:#f5d7ff; }
.plinko-board .plinko-box { height:405px; overflow:hidden; border-radius:11px; }
.plinko-box canvas { width:100%; height:100%; display:block; }
.plinko-last { min-height:39px; display:flex; align-items:center; justify-content:center; gap:14px; color:#ae8fc2; font-size:12px; border-top:1px solid #392344; margin-top:10px; padding-top:10px; }
.plinko-last b { color:#f2d492; font-size:20px; }
@keyframes originals-flip { from{transform:rotateY(80deg) scale(.88);opacity:.5} to{transform:none;opacity:1} }
@keyframes originals-fade { from{opacity:0} to{opacity:.36} }
@keyframes originals-spin { to{transform:rotate(360deg)} }
@media (max-width:1300px) {
  .layout { grid-template-columns:minmax(0,1fr); }
  .side { position:static; max-height:250px; }
  .side .feed { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .side-tabs { max-width:300px; }
  .lobby-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .game-poster { aspect-ratio:4/4.8; }
  .poster-name { font-size:21px; }
}
@media (min-width:1301px) and (max-width:1530px) {
  .originals-body { grid-template-columns:210px minmax(0,1fr); gap:12px; padding:13px; }
  .mine-stage { gap:5px; }
  .board-counter { flex-basis:34px; }
  .board-counter img { width:34px; }
}
@media (max-width:850px) {
  .top { gap:12px; padding:13px 18px; }
  .logo small,.header-caption { display:none; }
  .layout { padding:17px 18px 25px; }
  .lobby-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
  .hero-copy { padding:25px; max-width:57%; }
  .hero-art { left:42%; }
  .lobby-hero { min-height:295px; }
  .hero-copy h1 { font-size:37px; }
  .hero-copy p { font-size:12px; max-width:250px; }
  .game-poster { aspect-ratio:3/4; }
  .originals-body { grid-template-columns:205px minmax(0,1fr); gap:12px; padding:12px; }
  .board-counter { display:none; }
  .casino-footer > span:last-child { display:none; }
}
@media (max-width:650px) {
  body { padding-left:0; padding-bottom:71px; }
  .casino-rail { width:100%; height:66px; top:auto; padding:3px 4px; border:0; border-top:1px solid #493057; background:#241631f5; backdrop-filter:blur(12px); }
  .rail-brand,.rail-help { display:none; }
  .tabs { flex-direction:row; width:100%; gap:3px; overflow-x:auto; overflow-y:hidden; }
  .tabs button { width:63px; min-width:63px; padding:5px 1px; }
  .tabs button > span { font-size:20px; height:24px; }
  .tabs button small { font-size:8px; }
  .top { padding:11px 13px; min-height:65px; flex-wrap:nowrap; }
  .logo { gap:5px; }
  .logo b { font-size:25px; }
  .logo span { font-size:12px; }
  .logo small { display:none; }
  .bal { padding:6px 8px; font-size:12px; gap:4px; min-height:34px; }
  .who { max-width:35px; }
  .who > span:not(.ava) { display:none; }
  .me { gap:6px; }
  .login-button { font-size:11px; padding:8px; }
  .layout { padding:13px 12px 23px; gap:16px; }
  .game-page-head { gap:9px; }
  .game-page-head h1 { font-size:15px; }
  .game-page-head > span { display:none; }
  .lobby-hero { min-height:285px; border-radius:15px; }
  .hero-copy { max-width:72%; padding:23px 20px; }
  .hero-copy .eyebrow { font-size:9px; margin-bottom:13px; }
  .hero-copy h1 { font-size:34px; letter-spacing:-1.1px; }
  .hero-copy p { max-width:215px; font-size:11px; margin-top:11px; margin-bottom:17px; }
  .hero-play { font-size:12px; padding:10px 14px; }
  .hero-art { left:40%; opacity:.72; }
  .hero-plane { width:130%; left:-11%; top:35%; }
  .hero-island { width:125%; right:-40%; bottom:-1%; }
  .hero-moon { width:80px; height:80px; top:47px; right:-4px; }
  .hero-stamp { font-size:8px; bottom:11px; right:13px; }
  .lobby-bar { margin:24px 0 14px; gap:10px; }
  .casino-lobby h2 { font-size:21px; }
  .lobby-count { font-size:10px; margin-left:7px; }
  .game-search { width:49%; }
  .game-search input { padding:8px 6px; font-size:11px; }
  .lobby-filter { padding:8px 12px; font-size:11px; }
  .lobby-grid { gap:11px 9px; }
  .poster-name { font-size:16px; bottom:12px; }
  .poster-series { font-size:5px; top:10px; left:3px; right:3px; }
  .game-favorite { width:23px; height:23px; top:5px; right:5px; font-size:17px; border-radius:6px; }
  .game-caption h3 { font-size:11px; }
  .game-caption > span { font-size:9px; }
  .lobby-info { flex-wrap:wrap; gap:8px 18px; font-size:10px; padding-top:20px; }
  .side .feed,.at-lobby .side .feed { grid-template-columns:1fr; }
  .game { grid-template-columns:minmax(0,1fr); }
  .originals-title { padding:13px 15px; }
  .originals-title h2 { font-size:21px; }
  .originals-body { display:flex; flex-direction:column; gap:15px; padding:12px; }
  .originals-board { order:0; }
  .originals-controls { order:1; }
  .originals-controls .betrow input { flex-basis:0; width:0; }
  .originals-controls .betrow button { flex:none; }
  .originals-controls .betrow { flex-wrap:nowrap; }
  .mines-board { padding-top:0; }
  .originals-grid { max-width:340px; gap:6px; }
  .cover-symbol { font-size:24px; }
  .plinko-board .plinko-box { height:365px; }
  .originals-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
  .originals-metric:last-child { grid-column:auto; }
  .originals-metric small { font-size:9px; }
  .originals-metric b { font-size:15px; }
  .poster-cards .poster-card { border-radius:4px; font-size:12px; }
  .poster-card > span { font-size:24px; }
  .poster-ring span { font-size:35px; }
  .casino-footer { padding:0 13px 20px; gap:12px; flex-wrap:wrap; font-size:9px; }
}
@media (max-width:360px) { .lobby-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .poster-name{font-size:18px;} .login-button{font-size:10px;} }
@media (prefers-reduced-motion:reduce) { .game-cover,.tile { transition:none!important; } .tile.reveal-new,.tile.reveal-final { animation:none; } }
@media (min-width:1101px) and (max-width:1300px) {
  .lobby-grid { grid-template-columns:repeat(7,minmax(0,1fr)); }
  .game-poster { aspect-ratio:3/4; }
  .poster-name { font-size:17px; }
}
.plane-message.win { background:#352347ed; color:#ffdf9e; border-color:#bd9459; font-size:clamp(16px,2vw,22px); box-shadow:0 0 22px #efd48c22; }
@media (max-width:650px) {
  .hero-art { left:49%; opacity:.59; }
  .hero-plane { left:4%; top:45%; }
  .hero-copy p { max-width:185px; }
}

/* Shared interface symbols */
.ui-icon { display:inline-flex; align-items:center; justify-content:center; width:1.25em; height:1.25em; flex:none; vertical-align:-.2em; }
.ui-icon svg { display:block; width:100%; height:100%; overflow:visible; }
.tabs button > .ui-icon { width:25px; height:25px; color:inherit; }
.tabs button:not(.on) > .ui-icon { color:#c6abd9; }
.lobby-filter { display:inline-flex; align-items:center; gap:7px; }
.lobby-filter .ui-icon { width:14px; height:14px; }
.game-favorite { display:grid; place-items:center; }
.game-favorite .ui-icon { width:18px; height:18px; }
.hero-play { display:inline-flex; gap:7px; align-items:center; }
.hero-play .ui-icon { width:15px; height:15px; }
.game-play { display:flex; align-items:center; justify-content:center; gap:5px; }
.game-play .ui-icon { width:17px; height:17px; }
.game-search > .ui-icon { width:18px; height:18px; color:#a88abb; }
.login-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; }
.login-button .ui-icon { width:16px; height:16px; }
.rail-help { display:grid; place-items:center; }
.rail-help .ui-icon { width:19px; height:19px; }
.bal .ui-icon { width:16px; height:16px; }
.auth-symbol .ui-icon { width:46px; height:46px; }
#game-title { display:flex; align-items:center; gap:8px; }
#game-title .ui-icon { width:20px; height:20px; color:#ba8bdf; }
.originals-sound { display:inline-grid; place-items:center; }
.originals-sound .ui-icon,.plane-sound .ui-icon { width:18px; height:18px; }
.game-title-icon { color:#d6a6ff; width:25px; height:25px; }
.cover-symbol { border:0; }
.cover-symbol .ui-icon { width:100%; height:100%; }
.fi .g > .ui-icon { width:12px; height:12px; margin-right:2px; }
@media (max-width:650px) {
  .tabs button > .ui-icon { width:23px; height:23px; }
  .login-button .ui-icon { width:14px; height:14px; }
  .lobby-filter .ui-icon { width:12px; height:12px; }
}
.plane-launch .ui-icon { width:35px; height:35px; }
.plane-speed .speeds button b { display:grid; place-items:center; padding-block:2px; }
.plane-speed .speeds button b .ui-icon { width:20px; height:20px; }

/* Main game selection menu */
.at-lobby { padding-left:0; padding-bottom:0; }
.at-lobby .casino-rail { display:none; }
.at-lobby .top { padding-inline:max(24px,calc((100vw - 1160px)/2)); }
.at-lobby .layout { max-width:1220px; padding:26px 30px 24px; gap:25px; }
.at-lobby .casino-footer { max-width:1220px; padding-inline:30px; }
.at-lobby .side { max-height:230px; }
.main-menu .menu-intro { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:22px; }
.menu-intro .eyebrow { color:#be9ed7; margin-bottom:8px; font-size:9px; }
.menu-title { display:flex; align-items:center; gap:13px; }
.menu-title h1 { font-size:31px; line-height:1.1; letter-spacing:-.9px; margin:0; color:#f7efff; }
.menu-count { border:1px solid #574367; color:#c6acd9; border-radius:7px; font-size:11px; padding:4px 8px; white-space:nowrap; }
.menu-intro p { margin:9px 0 0; color:#a58bb7; font-size:12px; }
.main-menu .game-search { width:280px; flex:none; background:#251b30; border-radius:10px; min-height:42px; }
.main-menu .game-search input { font-size:13px; padding:10px; }
.main-menu .lobby-filters { margin:0 0 19px; gap:7px; flex-wrap:wrap; overflow:visible; }
.main-menu .lobby-filter { padding:9px 14px; font-size:12px; border-radius:9px; }
.menu-games { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.menu-game { position:relative; min-width:0; background:#251a31; border:1px solid #463151; border-radius:14px; overflow:hidden; transition:border-color .16s,box-shadow .16s,transform .16s; }
.menu-game:hover,.menu-game:focus-within { border-color:#ba83e8; box-shadow:0 8px 24px #08030c40; transform:translateY(-2px); }
.menu-game-link { display:block; color:inherit; text-decoration:none; height:100%; }
.menu-game .game-poster { width:100%; height:118px; aspect-ratio:auto; border-radius:0; border-bottom:1px solid #63447344; }
.menu-game .poster-series,.menu-game .poster-name { display:none; }
.menu-game .game-poster::after { inset:58% 0 0; background:linear-gradient(transparent,#21112a66); }
.menu-game .poster-plane.game-poster { background:radial-gradient(ellipse at 58% 24%,#5a559f,#2e255b); }
.menu-game .game-poster > img.poster-plane { width:78%; left:16%; top:0; transform:rotate(-13deg); }
.menu-game .poster-island { width:58%; left:-6%; top:21%; opacity:.63; }
.menu-game .poster-rocket { width:68%; left:28%; top:-13%; transform:rotate(-29deg); }
.menu-game .poster-value { top:15%; left:17%; right:auto; font-size:31px; }
.menu-game .poster-curve { width:61%; height:54%; top:4%; left:-6%; }
.menu-game .poster-grid { inset:17% 11% -15%; transform:rotate(-9deg); }
.menu-game .poster-gem { width:39%; top:-4%; left:15%; transform:rotate(-14deg); }
.menu-game .poster-mine { width:36%; right:10%; top:13%; }
.menu-game .poster-plinko > div { inset:-22px 0 -12px; }
.menu-game .poster-plinko svg { height:100%; width:100%; }
.menu-game .poster-ring { width:96px; height:96px; top:13px; left:calc(50% - 48px); padding:7px; }
.menu-game .poster-ring span { font-size:39px; }
.menu-game .poster-cards { width:141px; height:146px; top:13px; left:calc(50% - 70px); }
.menu-game .poster-card { font-size:16px; }
.menu-game .poster-card > span { font-size:34px; }
.menu-game-content { padding:14px 16px 8px; }
.menu-game-content h2 { display:flex; gap:8px; align-items:center; margin:0 0 8px; color:#f2e8fa; font-size:17px; font-weight:800; letter-spacing:-.35px; }
.menu-game-content h2 .ui-icon { width:18px; height:18px; color:#bd8ee0; }
.menu-game-content p { min-height:34px; margin:0; color:#b49ac4; font-size:11px; line-height:1.55; }
.menu-game-bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:1px 16px 13px; }
.menu-game-type { color:#8f719f; font-size:9px; text-transform:uppercase; letter-spacing:.06em; }
.menu-game-play { display:inline-flex; align-items:center; gap:8px; color:#f1dfff; background:#724093; border:1px solid #9862b5; border-radius:7px; padding:6px 9px; font-size:11px; font-weight:750; }
.menu-game-play .ui-icon { width:11px; height:11px; }
.menu-game:hover .menu-game-play { background:#9b4ed2; border-color:#c98dee; }
.menu-favorite { position:absolute; top:8px; right:8px; display:grid; place-items:center; padding:7px; width:32px; height:32px; border-radius:9px; background:#1b1027c2; border:1px solid #ddc6ef26; color:#e9c888; }
.menu-favorite .ui-icon { width:17px; height:17px; }
.menu-favorite:hover { background:#604637; }
.menu-favorite[aria-pressed="true"] { color:#ffe5a0; background:#59412c; }
.main-menu .lobby-info { padding-top:20px; font-size:10px; gap:26px; }
@media (max-width:1000px) {
  .at-lobby .top { padding-inline:22px; }
  .at-lobby .layout { padding:24px 22px; }
  .menu-games { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
  .menu-title h1 { font-size:28px; }
}
@media (max-width:650px) {
  .at-lobby .top { padding-inline:13px; }
  .at-lobby .layout { padding:20px 13px; gap:20px; }
  .at-lobby .casino-footer { padding-inline:13px; }
  .menu-intro { flex-direction:column; align-items:stretch!important; gap:15px!important; margin-bottom:15px!important; }
  .menu-title { gap:11px; }
  .menu-title h1 { font-size:27px; }
  .menu-intro .eyebrow { margin-bottom:7px; }
  .menu-intro p { font-size:11px; line-height:1.5; margin-top:8px; }
  .main-menu .game-search { width:100%; min-height:40px; }
  .main-menu .game-search input { font-size:12px; }
  .main-menu .lobby-filters { gap:6px; margin-bottom:16px; }
  .main-menu .lobby-filter { padding:8px 10px; font-size:10px; }
  .main-menu .lobby-filter .ui-icon { width:12px; height:12px; }
  .menu-games { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .menu-game { border-radius:12px; }
  .menu-game .game-poster { height:103px; }
  .menu-game .game-poster > img.poster-plane { width:99%; left:5%; top:4%; }
  .menu-game .poster-rocket { width:88%; left:18%; top:-1%; }
  .menu-game .poster-gem { width:48%; left:8%; top:0; }
  .menu-game .poster-mine { width:45%; right:5%; top:20%; }
  .menu-game .poster-ring { width:82px; height:82px; left:calc(50% - 41px); top:13px; }
  .menu-game .poster-cards { width:114px; height:128px; left:calc(50% - 57px); }
  .menu-game-content { padding:12px 11px 7px; }
  .menu-game-content h2 { gap:5px; font-size:14px; margin-bottom:7px; }
  .menu-game-content h2 .ui-icon { width:16px; height:16px; }
  .menu-game-content p { font-size:10px; min-height:46px; }
  .menu-game-bottom { margin:0 11px 11px; gap:5px; }
  .menu-game-type { font-size:8px; letter-spacing:0; }
  .menu-game-play { padding:5px 7px; gap:5px; font-size:10px; }
  .menu-favorite { width:31px; height:31px; top:6px; right:6px; }
  .main-menu .lobby-info { padding-top:17px; gap:7px 15px; font-size:9px; }
}
@media (max-width:340px) {
  .menu-game-content h2 { font-size:12px; }
  .menu-game-type { display:none; }
  .menu-game-bottom { justify-content:flex-end; }
}
@media (prefers-reduced-motion:reduce) { .menu-game { transition:none; } }

/* KVN AIRLINES: видна только до взлёта, потом уезжает вверх и не закрывает HUD */
.plane-brand { transition: opacity .45s ease, transform .45s cubic-bezier(.5,-.4,.7,1); }
.plane-brand.gone { opacity: 0; transform: translateY(-28px) scale(.86); }
@media (prefers-reduced-motion: reduce) { .plane-brand { transition: none; } }
