/* ===== 0.41 · One night style for the whole game =====
   Load LAST. Skin only: the shared HUD (header, tabs, portrait, wallets, courtyard toolbar),
   the club exploration card and the apartment HUD speak the club's language — dark glass,
   one neon accent per place, round icon chips, short labels. Geometry of scenes, cards,
   chips and docks is untouched (the tests pin it); only the courtyard toolbar packs
   unavailable actions into icon chips so a newcomer sees what can be pressed right now. */
:root {
  --m-ink:#f5eefb;
  --m-muted:#b9afc7;
  --m-dim:#8c839a;
  --m-gold:#ffd27a;
  --m-amber:#ffb347;
  --m-cyan:#5fd8ff;
  --m-magenta:#ff5fcf;
  --m-lime:#c8e874;
  --m-red:#ff6b7a;
  --m-line:#ffffff14;
  --m-line-2:#ffffff24;
  --m-glass:linear-gradient(180deg,#201b28,#141118);
  --m-glass-2:linear-gradient(180deg,#2a2433,#1b1722);
  --m-shadow:0 12px 30px #0007,inset 0 1px #ffffff0f;
  --m-radius:16px;
}

/* ---------- page ---------- */
body.location-shell,
body.location-shell:has(#home:not([hidden])) {
  background:
    radial-gradient(900px 520px at 6% -10%,#ff5fcf17,transparent 62%),
    radial-gradient(820px 480px at 100% -4%,#5fd8ff12,transparent 60%),
    radial-gradient(1100px 620px at 50% 115%,#ffb3470c,transparent 62%),
    linear-gradient(180deg,#131118,#0d0c10);
  color:var(--m-ink);
}
body.location-shell .brand { color:var(--m-ink); }
body.location-shell .brandmark {
  border-radius:10px;
  background:linear-gradient(145deg,#ecf8a6,#b8d65a);
  color:#1c2410;
  box-shadow:inset 0 1px #ffffff80,inset 0 -2px #0002,0 6px 18px #c8e87433;
}
body.location-shell .head-actions { gap:8px; }
body.location-shell .head-actions :is(#musicToggle,#sound) {
  min-height:40px;
  padding:0 14px;
  border:1px solid var(--m-line-2);
  border-radius:999px;
  background:#ffffff0a;
  color:var(--m-ink);
  font-size:13px;
  font-weight:650;
  box-shadow:inset 0 1px #ffffff0d;
}
body.location-shell .head-actions #musicToggle[aria-pressed="false"] { color:var(--m-dim); }
body.location-shell .head-actions :is(#musicToggle,#sound):enabled:hover { border-color:#ffd27a66; background:#ffffff12; filter:none; }
body.location-shell .head-actions #help {
  width:44px;
  border:1px solid var(--m-line-2);
  border-radius:14px;
  background:var(--m-glass-2);
  color:var(--m-gold);
  font-weight:800;
  box-shadow:inset 0 1px #ffffff14,0 6px 16px #0006;
}
body.location-shell .head-actions #help:enabled:hover { border-color:#ffd27a88; box-shadow:inset 0 1px #ffffff14,0 0 16px #ffd27a33; }

/* ---------- place tabs: one accent per place, the same colours as the courtyard pins ---------- */
body.location-shell nav.game-nav button {
  border:1px solid var(--m-line-2);
  border-radius:14px;
  background:linear-gradient(180deg,#221d2a,#16131c);
  color:#d9d0e4;
  box-shadow:inset 0 1px #ffffff0f,0 6px 14px #0005;
}
body.location-shell nav.game-nav [data-tab="home"] { --tab-color:#ffd27a; }
body.location-shell nav.game-nav [data-tab="club"] { --tab-color:#ff7ad9; }
body.location-shell nav.game-nav [data-tab="bj"] { --tab-color:#ff8f7d; }
body.location-shell nav.game-nav [data-tab="shop"] { --tab-color:#7cc8ff; }
body.location-shell nav.game-nav button svg { stroke:var(--tab-color); filter:drop-shadow(0 0 5px color-mix(in srgb,var(--tab-color) 45%,transparent)); }
body.location-shell nav.game-nav button.active {
  color:#fff;
  border-color:color-mix(in srgb,var(--tab-color) 60%,transparent);
  background:
    radial-gradient(120% 140% at 50% 120%,color-mix(in srgb,var(--tab-color) 26%,transparent),transparent 70%),
    linear-gradient(180deg,#2a2333,#18141e);
  box-shadow:inset 0 1px #ffffff1c,0 0 0 1px color-mix(in srgb,var(--tab-color) 18%,transparent),0 8px 22px color-mix(in srgb,var(--tab-color) 16%,transparent);
}
body.location-shell nav.game-nav button.active:not(.babay-wants)::after { width:34px; left:calc(50% - 17px); height:3px; bottom:4px; }
body.location-shell nav.game-nav button:hover:not(:disabled),
body.location-shell nav.game-nav button:focus-visible {
  filter:none;
  border-color:color-mix(in srgb,var(--tab-color) 70%,transparent);
  box-shadow:inset 0 1px #ffffff1c,0 0 18px color-mix(in srgb,var(--tab-color) 22%,transparent);
}

/* ---------- portrait panel ---------- */
body.location-shell .shell:has(#locationShell) #characterPanel {
  border:1px solid var(--m-line);
  border-radius:var(--m-radius);
  background:
    radial-gradient(130% 60% at 50% 0,#ff5fcf0d,transparent 70%),
    var(--m-glass);
  box-shadow:var(--m-shadow);
}
body.location-shell #characterPanel .hero-top { flex-wrap:wrap; row-gap:6px; }
body.location-shell #characterPanel .eyebrow { min-width:0; overflow:hidden; color:var(--m-muted); letter-spacing:.16em; white-space:nowrap; text-overflow:ellipsis; }
body.location-shell #characterPanel #condition {
  flex:none;
  white-space:nowrap;
  padding:3px 10px 3px 8px;
  border:1px solid #c8e87433;
  border-radius:999px;
  background:#c8e87412;
  color:#e3f3a8;
  font-size:11px;
  font-weight:700;
  line-height:1.4;
}
body.location-shell #characterPanel #condition::before {
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-right:6px;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 6px currentColor;
  vertical-align:1px;
}
body.location-shell #characterPanel .halo {
  border-color:#ffffff10;
  background:radial-gradient(circle at 50% 45%,#ffd27a14,#ff5fcf0a 45%,transparent 70%);
}
body.location-shell #characterPanel .wallword { color:#ffffff07; }
body.location-shell #characterPanel .stage-caption { color:var(--m-muted); letter-spacing:.18em; }
body.location-shell .shell:has(#locationShell) #characterPanel .speech { border-color:var(--m-line); }
body.location-shell #characterPanel .speech-label > span { color:var(--m-dim); letter-spacing:.14em; }
body.location-shell #repeatVoice {
  height:26px;
  min-height:26px;
  padding:0 10px;
  line-height:1;
  border:1px solid var(--m-line-2);
  border-radius:999px;
  background:#ffffff08;
  color:var(--m-muted);
  font-weight:650;
}
body.location-shell #repeatVoice:enabled:hover { border-color:#ffd27a66; color:var(--m-ink); background:#ffffff12; }
body.location-shell .shell:has(#locationShell) #characterPanel .vitals { border-color:var(--m-line); }
body.location-shell #characterPanel .vitals label { color:var(--m-muted); }
body.location-shell #characterPanel .vitals label b { color:var(--m-ink); }
body.location-shell #characterPanel .meter {
  border:0;
  border-radius:999px;
  background:#ffffff12;
  box-shadow:inset 0 1px 2px #0008;
  overflow:hidden;
}
body.location-shell #characterPanel .meter i { border-radius:999px; }
body.location-shell #characterPanel #drunkBar { background:linear-gradient(90deg,#ffd27a,#ffb347); box-shadow:0 0 8px #ffb34766; }
body.location-shell .beer-stock {
  border:1px solid var(--m-line-2);
  border-radius:12px;
  background:#ffffff08;
  color:var(--m-ink);
}
body.location-shell .beer-stock svg { stroke:var(--m-lime); fill:#c8e8741c; }
body.location-shell #drink.beer-treat {
  border:1px solid #d9f08a;
  border-radius:14px;
  background:linear-gradient(180deg,#a9c84f,#6f8b2c 60%,#55701f);
  color:#fbffe6;
  box-shadow:inset 0 1px #ffffff66,inset 0 -2px #0003,0 6px 16px #c8e87430;
  text-shadow:0 1px 2px #2a380c;
}
body.location-shell #drink.beer-treat:hover:not(:disabled),
body.location-shell #drink.beer-treat:focus-visible { filter:brightness(1.08); box-shadow:inset 0 1px #ffffff66,0 0 20px #c8e87455; }
body.location-shell #drink.beer-treat:disabled {
  border-color:var(--m-line-2);
  background:#ffffff08;
  color:var(--m-dim);
  box-shadow:none;
  text-shadow:none;
  opacity:1;
}

/* ---------- location frame, wallets ---------- */
body.location-shell #locationShell {
  border:1px solid var(--m-line);
  border-radius:var(--m-radius);
  background:#0f0d13;
  box-shadow:var(--m-shadow);
}
body.location-shell #locationStage { border-radius:15px 15px 0 0; background:#0f0d13; }
body.location-shell #locationShell .wallets { --cash-ink:var(--m-ink); --cash-gold:var(--m-gold); }
@media (min-width:701px) {
  body.location-shell #locationShell #locationStage>.wallets {
    border-bottom:1px solid var(--m-line);
    border-radius:15px 15px 0 0;
    background:linear-gradient(180deg,#231d2b,#17131d);
    box-shadow:inset 0 1px #ffffff12;
  }
  body.location-shell #locationShell #locationStage>.wallets .goal { border-left-color:var(--m-line); }
}
@media (max-width:700px) {
  body.location-shell #locationShell .wallets {
    border-bottom:1px solid var(--m-line);
    border-radius:15px 15px 0 0;
    background:linear-gradient(180deg,#231d2b,#17131d);
    box-shadow:inset 0 1px #ffffff12;
  }
}
body.location-shell #locationShell .wallets>div.wallet-stash { border-left-color:var(--m-line); }
body.location-shell #locationShell .wallets>div>span { color:var(--m-muted); }
body.location-shell #locationShell .wallets .wallet-icon {
  color:var(--m-lime);
  border-color:#c8e87433;
  border-radius:8px;
  background:#c8e87414;
}
body.location-shell #locationShell .wallets .wallet-stash .wallet-icon { color:var(--m-gold); border-color:#ffd27a40; background:#ffd27a14; }
body.location-shell #locationShell .wallets .goal>span,
body.location-shell #locationShell .wallets .goal>b { color:var(--m-muted); }
body.location-shell #locationShell .wallets .progress { border-radius:999px; background:#ffffff10; box-shadow:inset 0 1px 2px #0009; }
body.location-shell #locationShell .wallets .progress i {
  border-radius:999px;
  background:linear-gradient(90deg,#ffd27a,#ffb347 55%,#ff7ad9);
  box-shadow:0 0 10px #ffb34766;
}
body.location-shell #locationShell .wallets .progress::after { background:repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 2px),#0d0b1099 calc(10% - 2px),#0d0b1099 10%); }

/* ---------- courtyard toolbar: what can be pressed now is big, the rest waits as an icon ---------- */
body.location-shell #locationShell .yard-toolbar {
  border-top:1px solid var(--m-line);
  border-radius:0 0 15px 15px;
  background:linear-gradient(180deg,#1c1822,#121015);
}
body.location-shell #locationShell .yard-toolbar::before {
  content:"";
  position:absolute;
  top:-1px;
  left:16px;
  right:16px;
  height:1px;
  background:linear-gradient(90deg,transparent,#ffd27a77 18%,#ff7ad977 50%,#5fd8ff77 82%,transparent);
  pointer-events:none;
}
body.location-shell #locationShell .home-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  align-content:center;
  gap:8px;
}
body.location-shell #locationShell #loanRequest { display:contents; }
body.location-shell #locationShell #loanRequest[hidden] { display:none; }
body.location-shell #locationShell .home-actions #loan { --action-glow:#5fd8ff; }
body.location-shell #locationShell .home-actions #repay { --action-glow:#c8e874; }
body.location-shell #locationShell .home-actions #supplies { --action-glow:#ffb347; }
body.location-shell #locationShell .home-actions #payAlimony { --action-glow:#ff8f9a; }
body.location-shell #locationShell .home-actions .yard-action {
  flex:1 1 150px;
  width:auto;
  min-width:0;
  height:52px;
  min-height:44px;
  justify-content:flex-start;
  gap:10px;
  padding:6px 12px 6px 8px;
  border:1px solid color-mix(in srgb,var(--action-glow) 38%,#ffffff1a);
  border-radius:14px;
  background:
    radial-gradient(90% 120% at 0 50%,color-mix(in srgb,var(--action-glow) 16%,transparent),transparent 70%),
    linear-gradient(180deg,#2a2433,#1b1722);
  color:var(--m-ink);
  font-size:13px;
  font-weight:700;
  box-shadow:inset 0 1px #ffffff14,0 6px 14px #0006;
  transition:flex-basis .28s ease,flex-grow .28s ease,background .2s,border-color .2s,box-shadow .2s,transform .12s;
}
body.location-shell #locationShell .home-actions .yard-action svg {
  box-sizing:content-box;
  width:20px;
  height:20px;
  padding:7px;
  border:1px solid color-mix(in srgb,var(--action-glow) 35%,transparent);
  border-radius:10px;
  background:color-mix(in srgb,var(--action-glow) 15%,transparent);
  color:var(--action-glow);
}
body.location-shell #locationShell .home-actions .yard-action small { color:var(--m-muted); }
body.location-shell #locationShell .home-actions .yard-action:hover:not(:disabled),
body.location-shell #locationShell .home-actions .yard-action:focus-visible {
  filter:none;
  transform:translateY(-1px);
  border-color:var(--action-glow);
  box-shadow:inset 0 1px #ffffff1c,0 0 18px color-mix(in srgb,var(--action-glow) 28%,transparent);
}
/* 0.42: the icon-only «closed» chips and the «Кнопки загорятся…» hint are gone — see v42.css. */
body.location-shell #locationShell .home-actions .yard-action.babay-wants { animation:modernWant 1.8s ease-in-out infinite; }
@keyframes modernWant {
  50% { box-shadow:inset 0 1px #ffffff1c,0 0 0 3px #d9ed8a33,0 0 26px #d9ed8a40; }
}
body.location-shell #locationShell .salary-button { box-shadow:0 0 0 1px var(--m-line-2),0 6px 16px #0007; }
body.location-shell #locationShell .salary-button::before { background:conic-gradient(from -90deg,var(--m-gold) var(--salary-progress),#ffffff14 0); }
body.location-shell #locationShell .salary-button::after { background:radial-gradient(circle at 35% 25%,#3a3144,#18141e 75%); }
body.location-shell #locationShell .salary-button>span { color:var(--m-gold); text-shadow:0 0 10px #ffd27a55; }
.salary-popover {
  border:1px solid #ffd27a55;
  border-radius:14px;
  background:linear-gradient(180deg,#241e2cfa,#15121afa);
  box-shadow:0 14px 34px #000a,0 0 20px #ffd27a14;
}
.salary-popover b { color:var(--m-gold); }
.salary-popover p { color:var(--m-muted); }
@media (max-width:700px) {
  body.location-shell #locationShell .home-actions .yard-action { flex-basis:130px; height:48px; }
  body.location-shell #locationShell .home-actions .yard-action svg { width:18px; height:18px; padding:6px; }
}

/* ---------- blackjack: same glass, the bet chips' «−» only when it can remove something ---------- */
body.location-shell .casino-bet-tray__minus:disabled { visibility:hidden; }

/* ---------- club: the exploration card ---------- */
body.club-live .club-arena-badge.club-explore {
  --zc:var(--m-gold);
  width:min(282px,calc(100% - 212px));
  max-width:none;
  display:grid;
  gap:9px;
  padding:12px 14px 11px;
  border:1px solid #ffffff1f;
  border-radius:18px;
  background:
    radial-gradient(120% 90% at 0 0,color-mix(in srgb,var(--zc) 14%,transparent),transparent 60%),
    linear-gradient(180deg,#1d1526ee,#110d17e6);
  box-shadow:0 12px 30px #000a,inset 0 1px #ffffff14;
  backdrop-filter:blur(6px);
  text-shadow:none;
  transition:box-shadow .3s,border-color .3s;
}
body.club-live .club-arena-badge.club-explore::before {
  content:"";
  position:absolute;
  top:-1px;
  left:18px;
  right:18px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--zc),transparent);
  opacity:.8;
}
body.club-live .club-explore[data-exploring="bar"] { --zc:#ffb347; }
body.club-live .club-explore[data-exploring="dj"] { --zc:#5fd8ff; }
body.club-live .club-explore[data-exploring="vip"] { --zc:#ff5fcf; }
body.club-live .club-explore[data-complete="true"] { --zc:var(--m-lime); }
body.club-live .club-explore:not([data-exploring=""]) {
  border-color:color-mix(in srgb,var(--zc) 55%,transparent);
  box-shadow:0 12px 30px #000a,0 0 24px color-mix(in srgb,var(--zc) 28%,transparent),inset 0 1px #ffffff14;
}
body.club-live .club-explore-head { display:flex; align-items:center; gap:10px; min-width:0; }
body.club-live .club-explore-radar {
  position:relative;
  flex:none;
  width:34px;
  height:34px;
  border:1px solid color-mix(in srgb,var(--zc) 55%,transparent);
  border-radius:50%;
  background:
    radial-gradient(circle,var(--zc) 0 2.5px,transparent 3px),
    radial-gradient(circle,transparent 0 9px,color-mix(in srgb,var(--zc) 30%,transparent) 9.5px 10.5px,transparent 11px),
    #0006;
  overflow:hidden;
}
body.club-live .club-explore-radar i {
  position:absolute;
  inset:0;
  border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0 270deg,color-mix(in srgb,var(--zc) 75%,transparent) 360deg);
  animation:clubRadar 2.6s linear infinite;
}
body.club-live .club-explore:not([data-exploring=""]) .club-explore-radar i { animation-duration:.9s; }
body.club-live .club-explore[data-complete="true"] .club-explore-radar i { display:none; }
body.club-live .club-explore[data-complete="true"] .club-explore-radar {
  background:#c8e87422 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23c8e874' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat;
  box-shadow:0 0 14px #c8e87455;
}
@keyframes clubRadar { to { transform:rotate(1turn); } }
body.club-live .club-explore-title { display:grid; flex:1; min-width:0; gap:1px; }
body.club-live .club-explore-title small {
  color:var(--zc);
  font-size:10px;
  font-weight:800;
  letter-spacing:.2em;
  line-height:1.2;
}
body.club-live .club-explore #clubZone {
  color:var(--m-ink);
  font-size:14px;
  font-weight:800;
  letter-spacing:.04em;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.club-live .club-explore-count {
  flex:none;
  min-width:44px;
  padding:4px 9px;
  border:1px solid color-mix(in srgb,var(--zc) 45%,transparent);
  border-radius:11px;
  background:color-mix(in srgb,var(--zc) 12%,#0006);
  color:var(--zc);
  font-size:17px;
  font-weight:850;
  font-variant-numeric:tabular-nums;
  line-height:1.2;
  text-align:center;
}
body.club-live .club-explore .club-zone-pips {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin:0;
}
body.club-live .club-explore .club-zone-pips i {
  --zc:#ffffff;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:auto;
  height:30px;
  min-width:0;
  padding:0 6px;
  overflow:hidden;
  border:1px solid #ffffff1c;
  border-radius:10px;
  background:#ffffff08;
  box-shadow:none;
  color:color-mix(in srgb,var(--zc) 60%,#a79eb5);
  font-style:normal;
  transition:border-color .3s,background .3s,color .3s,box-shadow .3s;
}
body.club-live .club-explore .club-zone-pips [data-zone="bar"] { --zc:#ffb347; }
body.club-live .club-explore .club-zone-pips [data-zone="dj"] { --zc:#5fd8ff; }
body.club-live .club-explore .club-zone-pips [data-zone="vip"] { --zc:#ff5fcf; }
body.club-live .club-explore .club-zone-pips i::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:0;
  background:linear-gradient(90deg,color-mix(in srgb,var(--zc) 38%,transparent),color-mix(in srgb,var(--zc) 22%,transparent));
}
body.club-live .club-explore .club-zone-pips svg {
  position:relative;
  flex:none;
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.club-live .club-explore .club-zone-pips em {
  position:relative;
  font-size:11px;
  font-style:normal;
  font-weight:800;
  letter-spacing:.08em;
}
body.club-live .club-explore .club-zone-pips[data-active="bar"] [data-zone="bar"],
body.club-live .club-explore .club-zone-pips[data-active="dj"] [data-zone="dj"],
body.club-live .club-explore .club-zone-pips[data-active="vip"] [data-zone="vip"] {
  border-color:var(--zc);
  color:#fff;
  box-shadow:0 0 14px color-mix(in srgb,var(--zc) 40%,transparent);
}
body.club-live .club-explore .club-zone-pips[data-active="bar"] [data-zone="bar"]::before,
body.club-live .club-explore .club-zone-pips[data-active="dj"] [data-zone="dj"]::before,
body.club-live .club-explore .club-zone-pips[data-active="vip"] [data-zone="vip"]::before {
  width:calc(var(--explore,0) * 100%);
}
body.club-live .club-explore .club-zone-pips[data-done~="bar"] [data-zone="bar"],
body.club-live .club-explore .club-zone-pips[data-done~="dj"] [data-zone="dj"],
body.club-live .club-explore .club-zone-pips[data-done~="vip"] [data-zone="vip"] {
  border-color:var(--zc);
  background:color-mix(in srgb,var(--zc) 24%,#0005);
  color:#fff;
  box-shadow:0 0 12px color-mix(in srgb,var(--zc) 45%,transparent),inset 0 1px #ffffff2a;
  animation:zoneDone .5s cubic-bezier(.2,.9,.3,1.4);
}
body.club-live .club-explore .club-zone-pips[data-done~="bar"] [data-zone="bar"] svg,
body.club-live .club-explore .club-zone-pips[data-done~="dj"] [data-zone="dj"] svg,
body.club-live .club-explore .club-zone-pips[data-done~="vip"] [data-zone="vip"] svg { color:var(--zc); filter:drop-shadow(0 0 4px var(--zc)); }
@keyframes zoneDone { 0% { transform:scale(.86); } 60% { transform:scale(1.08); } 100% { transform:scale(1); } }
body.club-live .club-explore #clubCombo {
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  color:var(--m-muted);
  font-size:12px;
  font-weight:600;
  line-height:1.3;
  overflow-wrap:anywhere;
}
body.club-live .club-explore #clubCombo::before {
  content:"";
  flex:none;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--zc);
  box-shadow:0 0 8px var(--zc);
}
body.club-live .club-explore:not([data-exploring=""]) #clubCombo { color:#fff; }
@media (max-width:600px) {
  body.club-live .club-arena-badge.club-explore {
    width:calc(100% - 174px);
    gap:7px;
    padding:9px 10px 8px;
    border-radius:15px;
  }
  body.club-live .club-explore-head { gap:7px; }
  body.club-live .club-explore-radar { width:26px; height:26px; }
  body.club-live .club-explore-title small { font-size:9px; letter-spacing:.16em; }
  body.club-live .club-explore #clubZone { font-size:11px; }
  body.club-live .club-explore-count { min-width:36px; padding:2px 6px; font-size:14px; border-radius:9px; }
  body.club-live .club-explore .club-zone-pips { gap:4px; }
  body.club-live .club-explore .club-zone-pips i { height:26px; gap:3px; padding:0 3px; border-radius:8px; }
  body.club-live .club-explore .club-zone-pips svg { width:13px; height:13px; }
  body.club-live .club-explore .club-zone-pips em { font-size:9.5px; letter-spacing:.04em; }
  body.club-live .club-explore #clubCombo { font-size:10.5px; gap:5px; }
  body.club-live #clubAlert { top:max(124px,calc(env(safe-area-inset-top) + 116px)); }
}
@media (max-height:520px) and (min-width:601px) {
  body.club-live .club-arena-badge.club-explore { width:250px; gap:6px; padding:8px 11px 8px; }
  body.club-live .club-explore-radar { width:26px; height:26px; }
  body.club-live .club-explore .club-zone-pips i { height:24px; }
  body.club-live .club-explore #clubCombo { display:none; }
}

/* ---------- apartment («Как достать алименты») ---------- */
body.alimony-live #alimony { background:linear-gradient(180deg,#1a1510,#100d0a); }
body.alimony-live .alimony-arena::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:4;
  height:1px;
  background:linear-gradient(90deg,transparent,#ffd27a77 25%,#ffb34777 75%,transparent);
  pointer-events:none;
}
body.alimony-live .alimony-stage-label.al-stage-card {
  --ac:var(--m-gold);
  z-index:6;
  display:flex;
  align-items:center;
  gap:12px;
  width:min(360px,calc(100% - 72px - var(--al-safe-left) - var(--al-safe-right)));
  max-width:none;
  padding:10px 12px 10px 10px;
  border:1px solid #ffe2b326;
  border-radius:18px;
  background:
    radial-gradient(120% 100% at 0 0,color-mix(in srgb,var(--ac) 14%,transparent),transparent 62%),
    linear-gradient(180deg,#241c14f0,#16110ce8);
  color:#f6e4c4;
  box-shadow:0 12px 30px #0009,inset 0 1px #ffeccb1a;
  backdrop-filter:blur(6px);
  transition:border-color .3s,box-shadow .3s;
}
body.alimony-live .al-stage-card::before {
  content:"";
  position:absolute;
  top:-1px;
  left:18px;
  right:18px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--ac),transparent);
  opacity:.8;
}
body.alimony-live .al-stage-card[data-found="true"] { --ac:var(--m-lime); }
body.alimony-live .al-stage-card[data-threat="seen"] { --ac:#ff9a3c; border-color:#ff9a3c66; box-shadow:0 12px 30px #0009,0 0 22px #ff9a3c33,inset 0 1px #ffeccb1a; }
body.alimony-live .al-stage-card[data-threat="alarm"] { --ac:var(--m-red); border-color:#ff6b7a88; box-shadow:0 12px 30px #0009,0 0 26px #ff6b7a44,inset 0 1px #ffeccb1a; }
body.alimony-live .al-room-icon {
  position:relative;
  flex:none;
  width:42px;
  height:42px;
  border:1px solid color-mix(in srgb,var(--ac) 45%,transparent);
  border-radius:13px;
  background:color-mix(in srgb,var(--ac) 14%,#0005);
  box-shadow:inset 0 1px #ffffff14;
}
body.alimony-live .al-room-icon::before {
  content:"";
  position:absolute;
  inset:9px;
  background:var(--ac);
  -webkit-mask:var(--room-icon) center/contain no-repeat;
  mask:var(--room-icon) center/contain no-repeat;
  filter:drop-shadow(0 0 4px var(--ac));
}
body.alimony-live .al-stage-card { --room-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21V3.5h11V21M3 21h18M13 12h.01'/%3E%3C/g%3E%3C/svg%3E"); }
body.alimony-live .al-stage-card[data-room="bed"] { --room-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 19V6M3 15h18v4M21 15v-3a3 3 0 0 0-3-3h-7v6M7 11.5h.01'/%3E%3C/g%3E%3C/svg%3E"); }
body.alimony-live .al-stage-card[data-room="kitchen"] { --room-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h16v3a6 6 0 0 1-6 6h-4a6 6 0 0 1-6-6zM2 10h2M20 10h2M9 6c0-1 1-1 1-2M14 6c0-1 1-1 1-2'/%3E%3C/g%3E%3C/svg%3E"); }
body.alimony-live .al-stage-card[data-room="bath"] { --room-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h18v2a5 5 0 0 1-5 5H8a5 5 0 0 1-5-5zM6 12V5.5A2.5 2.5 0 0 1 10.5 4M7 19l-1 2M17 19l1 2'/%3E%3C/g%3E%3C/svg%3E"); }
body.alimony-live .al-stage-card[data-room="living"] { --room-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='12' rx='2'/%3E%3Cpath d='M8 20h8M12 16v4'/%3E%3C/g%3E%3C/svg%3E"); }
body.alimony-live .al-stage-card[data-room="study"] { --room-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 3.5l2.6 4.3-2.6 3.2-2.6-3.2zM4.5 9.5l4.9 1.5M19.5 9.5l-4.9 1.5M8 19l1.4-4.6h5.2L16 19'/%3E%3C/g%3E%3C/svg%3E"); }
body.alimony-live .al-stage-card[data-room="cellar"] { --room-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h5v5h5v5h5v6M4 20h15'/%3E%3C/g%3E%3C/svg%3E"); }
body.alimony-live .al-room-copy { display:grid; flex:1; min-width:0; gap:1px; }
body.alimony-live .al-room-copy small {
  color:var(--ac);
  font-size:10px;
  font-weight:800;
  letter-spacing:.2em;
  line-height:1.25;
}
body.alimony-live .al-stage-card #alimonyRoom {
  color:#fff4de;
  font-size:clamp(14px,1.25vw,17px);
  font-weight:850;
  letter-spacing:.12em;
  line-height:1.3;
}
body.alimony-live .al-stage-card #alimonyTask {
  display:block;
  color:#e6cfa6;
  font-size:12.5px;
  font-weight:650;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.alimony-live .al-stage-card #alimonyTask[hidden] { display:none; }
body.alimony-live .al-threat {
  --threat:0;
  position:relative;
  display:grid;
  place-items:center;
  flex:none;
  width:38px;
  height:38px;
  border-radius:50%;
  background:#0006;
  color:#b9a98a;
  box-shadow:inset 0 0 0 1px #ffe2b326;
}
body.alimony-live .al-threat svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
body.alimony-live .al-threat i {
  position:absolute;
  inset:0;
  border-radius:50%;
  background:conic-gradient(var(--ring,#ff9a3c) calc(var(--threat) * 360deg),transparent 0);
  -webkit-mask:radial-gradient(circle,transparent 15px,#000 16px);
  mask:radial-gradient(circle,transparent 15px,#000 16px);
}
body.alimony-live .al-threat[data-state="calm"] { color:#9fc48a; }
body.alimony-live .al-threat[data-state="seen"] { color:#ffb36b; background:#ff9a3c1f; animation:threatPulse .7s ease-in-out infinite alternate; }
body.alimony-live .al-threat[data-state="alarm"] { --ring:var(--m-red); color:#ff8f9a; background:#ff6b7a26; animation:threatPulse .45s ease-in-out infinite alternate; }
@keyframes threatPulse { to { box-shadow:inset 0 0 0 1px #ffe2b326,0 0 16px var(--ring,#ff9a3c); } }
body.alimony-live #alimonyAlert {
  z-index:7;
  top:var(--al-safe-top);
  left:50%;
  right:auto;
  transform:translateX(-50%);
  width:max-content;
  max-width:min(560px,calc(100% - 2 * 380px));
  padding:10px 16px;
  border:1px solid #ffd27a55;
  border-radius:14px;
  background:linear-gradient(180deg,#2a2016f2,#1a140ef0);
  color:#ffe6bf;
  font-size:14px;
  font-weight:750;
  letter-spacing:.02em;
  line-height:1.35;
  text-align:center;
  box-shadow:0 12px 30px #0009,inset 0 1px #ffeccb1a;
}
body.alimony-live #alimonyAlert[data-level="seen"] { border-color:#ff9a3c99; color:#ffd0a1; background:linear-gradient(180deg,#3a2210f2,#22150bf0); box-shadow:0 12px 30px #0009,0 0 20px #ff9a3c33; }
body.alimony-live #alimonyAlert[data-level="alarm"] { border-color:#ff6b7aaa; color:#ffd4d8; background:linear-gradient(180deg,#3d1519f4,#250c10f2); box-shadow:0 12px 30px #0009,0 0 24px #ff6b7a44; animation:alarmBlink .8s ease-in-out infinite alternate; }
@keyframes alarmBlink { to { border-color:#ff6b7a; box-shadow:0 12px 30px #0009,0 0 34px #ff6b7a66; } }
body.alimony-live .alimony-help-button {
  border:1px solid #ffe2b340;
  border-radius:14px;
  background:linear-gradient(180deg,#2b2218f0,#18130ef0);
  color:var(--m-gold);
  box-shadow:0 10px 24px #0008,inset 0 1px #ffeccb1f;
}
body.alimony-live .alimony-help-button:hover:not(:disabled),
body.alimony-live .alimony-help-button[aria-expanded=true] { border-color:#ffd27a; background:linear-gradient(180deg,#3a2d1e,#211912); box-shadow:0 0 18px #ffd27a33; }
body.alimony-live .alimony-inventory,
body.alimony-live .alimony-controls { background:transparent; }
body.alimony-live .alimony-slot {
  border:1px solid #ffe2b31f;
  border-radius:14px;
  background:linear-gradient(180deg,#2a2119,#1b1611);
  box-shadow:inset 0 1px #ffeccb12,0 6px 14px #0006;
}
body.alimony-live .alimony-slot[data-state=found],
body.alimony-live .alimony-slot.is-found {
  border-color:#ffd27a88;
  background:radial-gradient(100% 120% at 0 50%,#ffd27a1f,transparent 70%),linear-gradient(180deg,#30251a,#1d1711);
  box-shadow:inset 0 1px #ffeccb1f,0 0 16px #ffd27a1f;
}
body.alimony-live .alimony-slot[data-state=locked],
body.alimony-live .alimony-slot.is-locked,
body.alimony-live .alimony-slot.is-empty { border:1px dashed #ffe2b324; background:#ffffff05; box-shadow:none; }
body.alimony-live .alimony-controls>button { border-radius:14px; border-color:#ffe2b340; background:linear-gradient(180deg,#33281c,#1f1912); box-shadow:inset 0 1px #ffeccb1f,0 6px 14px #0007; }
body.alimony-live .alimony-controls>button.primary {
  border-color:#ffe2a8;
  background:linear-gradient(180deg,#ffd98c,#e0a84e);
  color:#2a1c08;
  box-shadow:inset 0 1px #fff6d8,inset 0 -2px #0002,0 6px 18px #ffd27a33;
}
body.alimony-live .alimony-controls>button:hover:not(:disabled) { border-color:#ffd27a; box-shadow:inset 0 1px #ffeccb1f,0 0 18px #ffd27a33; }
body.alimony-live .alimony-controls>button.primary:hover:not(:disabled) { background:linear-gradient(180deg,#ffe3a6,#eab25a); box-shadow:inset 0 1px #fff6d8,0 0 22px #ffd27a55; }
@media (max-width:1100px) {
  body.alimony-live #alimonyAlert { max-width:min(520px,calc(100% - 2 * var(--al-safe-left))); top:calc(var(--al-safe-top) + 76px); }
}
@media (max-width:700px), (max-height:520px) {
  body.alimony-live .alimony-stage-label.al-stage-card { gap:9px; padding:8px 10px 8px 8px; border-radius:15px; }
  body.alimony-live .al-room-icon { width:34px; height:34px; border-radius:11px; }
  body.alimony-live .al-room-icon::before { inset:7px; }
  body.alimony-live .al-room-copy small { font-size:9px; letter-spacing:.14em; }
  body.alimony-live .al-stage-card #alimonyRoom { font-size:13px; letter-spacing:.08em; }
  body.alimony-live .al-stage-card #alimonyTask { font-size:11px; }
  body.alimony-live .al-threat { width:32px; height:32px; }
  body.alimony-live .al-threat svg { width:17px; height:17px; }
  body.alimony-live .al-threat i { -webkit-mask:radial-gradient(circle,transparent 12px,#000 13px); mask:radial-gradient(circle,transparent 12px,#000 13px); }
  body.alimony-live #alimonyAlert { top:calc(var(--al-safe-top) + 66px); font-size:12.5px; padding:8px 12px; }
}

/* ---------- courtyard walk (BabayWalk.yard): Бабай cut at the hip, legs swing ---------- */
body.walk-anim .yard-actor.has-walk img {
  inset:auto 0 0 0;
  left:0;
  right:0;
  bottom:0;
  width:auto;
  height:100%;
  max-width:none;
  margin:0 auto;
  object-fit:fill;
}
body.walk-anim .yard-actor.has-walk .yard-leg { display:none; }
body.walk-anim .yard-actor.has-walk.walking .yard-leg { display:block; }
body.walk-anim .yard-actor.has-walk.walking .yard-upper {
  clip-path:inset(0 0 calc(100% - var(--hip,58%) - 1px) 0);
  animation:yardBob .46s ease-in-out infinite;
}
body.walk-anim .yard-actor.has-walk .yard-leg-l {
  clip-path:polygon(-60% var(--hip,58%),var(--leg-top,57%) var(--hip,58%),var(--leg-bot,45%) 103%,-60% 103%);
  transform-origin:var(--leg-top,57%) var(--hip,58%);
  animation:yardLeg .92s linear infinite,yardBob .46s ease-in-out infinite;
}
body.walk-anim .yard-actor.has-walk .yard-leg-r {
  clip-path:polygon(var(--leg-top,57%) var(--hip,58%),160% var(--hip,58%),160% 103%,var(--leg-bot,45%) 103%);
  transform-origin:var(--leg-top,57%) var(--hip,58%);
  animation:yardLeg .92s linear infinite,yardBob .46s ease-in-out infinite;
  animation-delay:-.46s,0s;
}
@keyframes yardLeg {
  0% { transform:skewX(11deg); }
  25% { transform:skewX(0deg) scaleY(.94); }
  50% { transform:skewX(-11deg); }
  75% { transform:skewX(0deg); }
  100% { transform:skewX(11deg); }
}
@keyframes yardBob { 0%,100% { translate:0 0; } 50% { translate:0 -1.6%; } }

@media (prefers-reduced-motion:reduce) {
  body.club-live .club-explore-radar i,
  body.alimony-live .al-threat,
  body.alimony-live #alimonyAlert,
  body.location-shell #locationShell .home-actions .yard-action.babay-wants,
  body.club-live .club-explore .club-zone-pips i { animation:none!important; }
  body.location-shell #locationShell .home-actions .yard-action { transition:none; }
  body.walk-anim .yard-actor.has-walk .yard-leg { display:none!important; }
  body.walk-anim .yard-actor.has-walk .yard-upper { clip-path:none!important; animation:none!important; }
}
@media (forced-colors:active) {
  body.club-live .club-arena-badge.club-explore,
  body.alimony-live .alimony-stage-label.al-stage-card { border:1px solid CanvasText; }
}

/* ---------- blackjack dock: same glass and one lime «go» button ---------- */
body.casino-redesign #bj .casino-controls {
  border-top:1px solid var(--m-line);
  background:linear-gradient(180deg,#1c1822,#121015);
  box-shadow:inset 0 1px #ffffff0a;
}
body.casino-redesign #bj .casino-controls::before {
  content:"";
  position:absolute;
  top:-1px;
  left:16px;
  right:16px;
  height:1px;
  background:linear-gradient(90deg,transparent,#ff8f7d77 25%,#ffd27a77 75%,transparent);
  pointer-events:none;
}
body.casino-redesign #bj .casino-controls button:not(.casino-bet-tray__chip):not(.casino-bet-tray__minus) {
  border:1px solid var(--m-line-2);
  border-radius:12px;
  background:linear-gradient(180deg,#2a2433,#1b1722);
  color:var(--m-ink);
  box-shadow:inset 0 1px #ffffff14,0 4px 12px #0006;
}
body.casino-redesign #bj .casino-controls button:hover:not(:disabled) { filter:none; border-color:#ffd27a88; box-shadow:inset 0 1px #ffffff1c,0 0 16px #ffd27a26; }
body.casino-redesign #bj .casino-controls #deal {
  border-color:#d9f08a;
  background:linear-gradient(180deg,#a9c84f,#6f8b2c 60%,#55701f);
  color:#fbffe6;
  font-weight:800;
  text-shadow:0 1px 2px #2a380c;
  box-shadow:inset 0 1px #ffffff66,inset 0 -2px #0003,0 6px 16px #c8e87430;
}
body.casino-redesign #bj .casino-controls #deal:hover:not(:disabled) { filter:brightness(1.07); border-color:#efffb0; box-shadow:inset 0 1px #ffffff66,0 0 22px #c8e87455; }
body.casino-redesign #bj .casino-controls #betAdviceBtn {
  border-color:#ffd27a66;
  background:radial-gradient(100% 140% at 50% 0,#ffd27a24,transparent 70%),linear-gradient(180deg,#2e2634,#1d1823);
  color:var(--m-gold);
}
body.casino-redesign #bj #bet {
  border:1px solid var(--m-line-2);
  border-radius:12px;
  background:#0c0a10;
  color:var(--m-ink);
  box-shadow:inset 0 2px 6px #000a;
}
body.casino-redesign #bj .casino-auto-advice { color:var(--m-muted); }
body.casino-redesign #bj .casino-auto-advice input { accent-color:var(--m-gold); }
body.casino-redesign #bj .bj-actions [data-move="hit"] { --mv:#c8e874; }
body.casino-redesign #bj .bj-actions [data-move="stand"] { --mv:#ffd27a; }
body.casino-redesign #bj .bj-actions [data-move="double"] { --mv:#ff7ad9; }
body.casino-redesign #bj .bj-actions [data-move="split"] { --mv:#5fd8ff; }
body.casino-redesign #bj .casino-controls .bj-actions button[data-move]:not(.babay-wants) {
  border-color:color-mix(in srgb,var(--mv) 40%,#ffffff1a);
  background:radial-gradient(90% 130% at 50% 120%,color-mix(in srgb,var(--mv) 16%,transparent),transparent 70%),linear-gradient(180deg,#2a2433,#1b1722);
}
body.casino-redesign #bj .casino-controls .bj-actions button[data-move]:hover:not(:disabled):not(.babay-wants) { border-color:var(--mv); box-shadow:inset 0 1px #ffffff1c,0 0 16px color-mix(in srgb,var(--mv) 30%,transparent); }

/* ---------- first-run voice tutorial and the opening card ---------- */
#modal.intro-dialog.voice-tutorial {
  border-color:#ffd27a55;
  background:
    radial-gradient(ellipse at 50% 0,#ff5fcf1c,transparent 60%),
    linear-gradient(180deg,#221c2a,#121016);
}
#modal.intro-dialog.voice-tutorial::backdrop { background:#08060bc4; }
#modal.voice-tutorial .tutorial-portrait { border-bottom-color:var(--m-line); background:radial-gradient(ellipse at 50% 45%,#ffd27a33,transparent 67%); }
#modal.voice-tutorial .tutorial-portrait::after { background:linear-gradient(transparent,#1f1a26); }
#modal.voice-tutorial .tutorial-voice { border-color:var(--m-line-2); background:#120f17d9; }
#modal.voice-tutorial .tutorial-speech { border-color:var(--m-line-2); background:#ffffff08; box-shadow:inset 0 1px #ffffff0d; }
#modal.voice-tutorial .tutorial-speaker { color:var(--m-gold); }
#modal.voice-tutorial #introQuote { color:var(--m-ink); }
#modal.voice-tutorial .tutorial-progress i { background:#ffffff26; }
#modal.voice-tutorial .tutorial-progress i.done { background:#ffd27a88; }
#modal.voice-tutorial .tutorial-progress i.current { background:var(--m-gold); }
#modal.voice-tutorial .tutorial-buttons button.secondary { border-color:var(--m-line-2); background:linear-gradient(180deg,#2a2433,#1b1722); color:var(--m-ink); box-shadow:0 4px 0 #0b090e,inset 0 1px #ffffff1a; }

/* ---------- shared Babay dialogs (loan, reclaim, results, settings): the same night glass ---------- */
#modal:has(.babay-dialog-copy),
#modal.babay-dialog,
#casinoSettings {
  border-color:#ffd27a4d;
  background:
    radial-gradient(ellipse at 50% 0,#ff5fcf14,transparent 60%),
    linear-gradient(180deg,#221c2a,#131016);
  box-shadow:0 24px 90px #000c,inset 0 1px #ffffff14;
}
#modal .babay-dialog-portrait,
#casinoSettings .babay-dialog-portrait {
  border-bottom-color:var(--m-line);
  background:radial-gradient(ellipse at 50% 58%,#ffb34738,transparent 70%),linear-gradient(180deg,#2a2232,#1f1a26);
}
#modal .babay-dialog-portrait::after,
#casinoSettings .babay-dialog-portrait::after { background:linear-gradient(transparent,#1f1a26); }
#modal .babay-dialog-copy h2 { color:#fff1dc; }
#modal .babay-dialog-copy>p:not(.fineprint) { color:#e6deef; }
#modal .babay-dialog-copy .fineprint { color:var(--m-muted); }
#modal .babay-dialog-copy button.secondary,
#casinoSettings .babay-dialog-copy button.secondary {
  border-color:var(--m-line-2);
  background:linear-gradient(180deg,#2a2433,#1b1722);
  color:var(--m-ink);
  box-shadow:0 3px 0 #0b090e,inset 0 1px #ffffff1a;
}
