/* ===== 0.39 · Courtyard entrance plaques =====
   Plates sit UNDER the painted neon names (МАРАМЫГА/КЛУБ, КАЗИНО, ЛАРЁК), on the street in
   front of each door, with an icon chip, a tail pointing at the entrance and a hover glow. */
#home .yard-club{--plate-y:91%;--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='o'%3E%3Crect width='24' height='24' fill='white'/%3E%3Ccircle cx='15.4' cy='7.1' r='1.7' fill='black'/%3E%3C/mask%3E%3C/defs%3E%3Cpath mask='url(%23o)' d='M3.5 4.5h17L12 13.6z'/%3E%3Cpath d='M12 13v6.6M7.6 20.4h8.8' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E")}
#home .yard-casino{--plate-y:79%;--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.2C9.4 6 3.6 8.7 3.6 13.1a4.2 4.2 0 0 0 7.3 2.9c-.2 2.1-1 3.8-2.5 5.6h7.2c-1.5-1.8-2.3-3.5-2.5-5.6a4.2 4.2 0 0 0 7.3-2.9C20.4 8.7 14.6 6 12 2.2z'/%3E%3C/svg%3E")}
#home .yard-shop{--plate-y:36%;--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 9.2 4.8 3.8h14.4L21 9.2c0 1.6-1.3 2.8-3 2.8s-3-1.2-3-2.8c0 1.6-1.3 2.8-3 2.8s-3-1.2-3-2.8c0 1.6-1.3 2.8-3 2.8s-3-1.2-3-2.8z'/%3E%3Cpath d='M5 13.4V20.6h14v-7.2' fill='none' stroke='black' stroke-width='2.3' stroke-linejoin='round'/%3E%3Cpath d='M10 20.6v-4.4h4v4.4'/%3E%3C/svg%3E")}
#home .yard-ex{--plate-y:0%;--glow:#ffcf69;--tint:#ffcf6918;--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cmask id='m'%3E%3Crect width='24' height='24' fill='white'/%3E%3Cpath d='M12.6 6.4 10.4 10.6l3.2 1.8-2.3 4.3' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'/%3E%3C/mask%3E%3C/defs%3E%3Cpath mask='url(%23m)' d='M12 21s-8.6-5.3-8.6-11.3A4.9 4.9 0 0 1 12 6.6a4.9 4.9 0 0 1 8.6 3.1C20.6 15.7 12 21 12 21z'/%3E%3C/svg%3E")}
#home .yard-place>span{
  top:var(--plate-y,0%);
  gap:8px;padding:4px 12px 4px 4px;border-radius:999px;
  font:750 14px/1 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;letter-spacing:.015em;color:#fff6ee;
  text-shadow:0 1px 0 #0009;
  background:linear-gradient(180deg,#2c2533f4,#131117f4);
  border:1px solid color-mix(in srgb,var(--glow) 58%,#2b2930);
  box-shadow:0 8px 18px -8px #000,0 0 0 1px #0008,0 0 18px -4px color-mix(in srgb,var(--glow) 55%,transparent),inset 0 1px 0 #ffffff1f;
  transition:translate .22s cubic-bezier(.2,.9,.3,1.25),border-color .22s,box-shadow .22s,background .22s;
}
/* Tail: a small rotated square pointing up at the entrance. */
#home .yard-place>span::after{
  content:"";position:absolute;left:50%;top:-5px;width:9px;height:9px;
  translate:-50% 0;rotate:45deg;
  background:#2c2533;border-left:1px solid color-mix(in srgb,var(--glow) 58%,#2b2930);border-top:1px solid color-mix(in srgb,var(--glow) 58%,#2b2930);
  border-radius:2px 0 0 0;transition:border-color .22s,background .22s;
}
#home .yard-ex>span::after{display:none}
#home .yard-place .yard-ico{
  position:relative;flex:none;display:block;width:26px;height:26px;border-radius:50%;
  background:radial-gradient(circle at 34% 28%,color-mix(in srgb,var(--glow) 45%,#fff) 0,var(--glow) 48%,color-mix(in srgb,var(--glow) 55%,#000) 100%);
  box-shadow:0 0 0 2px #0009,0 0 12px color-mix(in srgb,var(--glow) 70%,transparent),inset 0 -2px 3px #0005;
}
#home .yard-place .yard-ico::before{
  content:"";position:absolute;inset:5px;background:#1a1220;
  -webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat;
}
#home .yard-place .yard-ico::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--glow);opacity:0;pointer-events:none}
#home .yard-place>span b{
  flex:none;width:12px;height:12px;margin:0 -3px 0 1px;font-size:0;color:transparent;
  background:color-mix(in srgb,var(--glow) 80%,#fff);opacity:.7;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 5 7 7-7 7' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 5 7 7-7 7' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:translate .2s,opacity .2s;
}
#home .yard-place:is(:hover,:focus-visible,.selected)>span{
  translate:0 -2px;
  background:linear-gradient(180deg,#3a3042f6,#18141df6);border-color:var(--glow);
  box-shadow:0 10px 20px -8px #000,0 0 0 1px #000a,0 0 24px -2px color-mix(in srgb,var(--glow) 75%,transparent),inset 0 1px 0 #ffffff2a;
}
#home .yard-place:is(:hover,:focus-visible,.selected)>span::after{background:#3a3042;border-color:var(--glow)}
#home .yard-place:is(:hover,:focus-visible,.selected)>span b{translate:2px 0;opacity:1}
#home .yard-place:is(:hover,:focus-visible,.selected) .yard-ico::after{animation:yardPing 1.5s ease-out infinite}
@keyframes yardPing{0%{opacity:.85;scale:1}100%{opacity:0;scale:1.75}}
/* The guide's golden target keeps priority over the place colour. */
#home .yard-place.guide-target>span::after{border-color:#ffd65c}
#home .yard-place.guide-target .yard-ico{background:radial-gradient(circle at 34% 28%,#fff3c4 0,#ffd65c 50%,#a87a12 100%)}
@media(min-width:701px) and (max-height:700px){
  #home .yard-place.yard-casino>span{top:var(--plate-y)}
}
@media(max-width:700px){
  #home .yard-place>span{gap:5px;padding:3px 9px 3px 3px;font-size:12.5px}
  #home .yard-place .yard-ico{width:21px;height:21px}
  #home .yard-place .yard-ico::before{inset:4px}
  #home .yard-place>span b{width:10px;height:10px}
  #home .yard-place>span::after{width:7px;height:7px;top:-4px}
  /* Right-edge plates are right-aligned (style.css): keep the tail over the door. */
  #home .yard-casino>span::after,#home .yard-shop>span::after{left:62%}
}
@media(prefers-reduced-motion:reduce){
  #home .yard-place>span,#home .yard-place>span b{transition:none}
  #home .yard-place .yard-ico::after{animation:none!important}
}
@media(forced-colors:active){
  #home .yard-place .yard-ico{forced-color-adjust:none;background:Highlight}
  #home .yard-place>span b{background:CanvasText}
}

/* ===== 0.39 · Club sign («Марамыга · как играть») and the in-club «?» help =====
   Neon header, rules as icon cards (no numbers), controls as real key caps.
   app.js builds both with clubSignHTML(); the voiced rule lights up via .is-reading. */
#modal:is(.club-sign-dialog,.club-help-dialog){
  --cs-ink:#f7efe9;--cs-muted:#bcb0c2;--cs-line:#ffffff17;
  width:min(840px,calc(100vw - 24px));max-height:calc(100dvh - 24px);
  padding:0;overflow:auto;overscroll-behavior:contain;color:var(--cs-ink);
  border:1px solid #ff5fcf5c;border-radius:20px;
  background:
    radial-gradient(85% 55% at 50% -10%,#ff3fb840,transparent 62%),
    radial-gradient(55% 45% at 102% 104%,#3fd2ff1f,transparent 70%),
    linear-gradient(180deg,#1e1624,#110e15 72%);
  box-shadow:0 40px 90px -24px #000,0 0 0 1px #000c,0 0 80px -16px #ff3fb866;
}
#modal:is(.club-sign-dialog,.club-help-dialog)::backdrop{background:#07040acc;backdrop-filter:blur(8px) brightness(.55)}
#modal:is(.club-sign-dialog,.club-help-dialog) #modalContent{display:block;min-height:0;padding:22px 26px 22px}
#modal:is(.club-sign-dialog,.club-help-dialog) #closeModal{
  position:absolute;right:14px;top:14px;z-index:3;width:40px;height:40px;min-height:40px;padding:0;
  border:1px solid #ffffff2b;border-radius:12px;background:#0f0b12d9;color:#fff;font-size:24px;line-height:1;box-shadow:0 4px 14px #0008}
#modal:is(.club-sign-dialog,.club-help-dialog) #closeModal:hover{border-color:#ff8fdc;box-shadow:0 0 0 1px #ff8fdc55,0 4px 14px #0008}
#modal .cs-hero{position:relative;width:100%;margin:0;display:grid;justify-items:center;gap:0;padding:4px 48px 14px;text-align:center}
#modal .cs-hero .eyebrow{color:#ffb3e6;font-size:11px;font-weight:800;letter-spacing:.24em}
#modal .cs-neon{margin:6px 0 0;color:#ffe9f8;font:900 clamp(32px,5vw,48px)/1 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.08em;text-transform:uppercase;
  text-shadow:0 0 1px #fff,0 0 7px #ff7ad9,0 0 16px #ff3fb8,0 0 34px #ff3fb8b0,0 0 58px #c0168a8c;animation:csFlicker 7s linear infinite}
#modal .cs-sub{margin:8px 0 0;color:#86e8ff;font:800 12.5px/1.2 system-ui,sans-serif;letter-spacing:.32em;text-transform:uppercase;text-shadow:0 0 10px #3fd2ff8c}
@keyframes csFlicker{0%,17%,21%,61%,64%,100%{opacity:1}19%,62.5%{opacity:.68}}
/* «Бабай читает» chip: appears with the first voiced rule. */
#modal .cs-reader{display:none;align-items:center;gap:8px;margin-top:12px;padding:3px 12px 3px 3px;border-radius:999px;
  border:1px solid #ffffff22;background:#ffffff0c;color:var(--cs-muted);font:750 12px/1 system-ui,sans-serif;transition:color .25s,border-color .25s,background .25s}
#modal .cs-reader.is-seen{display:inline-flex}
#modal .cs-reader img{width:26px;height:26px;border-radius:50%;object-fit:cover;object-position:50% 16%;border:1px solid #ffffff3a;background:#2a2230}
#modal .cs-reader.is-on{color:#ffe7a1;border-color:#ffd65c8c;background:#ffd65c17}
#modal .cs-eq{display:inline-flex;align-items:flex-end;gap:2px;height:12px}
#modal .cs-eq i{display:block;width:3px;height:30%;border-radius:2px;background:currentColor;opacity:.8}
#modal .cs-reader.is-on .cs-eq i{animation:csEq .8s ease-in-out infinite}
#modal .cs-reader.is-on .cs-eq i:nth-child(2){animation-delay:-.25s}
#modal .cs-reader.is-on .cs-eq i:nth-child(3){animation-delay:-.5s}
#modal .cs-reader.is-on .cs-eq i:nth-child(4){animation-delay:-.65s}
@keyframes csEq{0%,100%{height:25%}50%{height:100%}}
#modal .cs-body{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:14px;align-items:start}
#modal .cs-panel{min-width:0;margin:0;padding:14px;border-radius:16px;border:1px solid var(--cs-line);
  background:linear-gradient(180deg,#ffffff0c,#ffffff04);box-shadow:inset 0 1px 0 #ffffff10}
#modal .cs-title{display:flex;align-items:center;gap:10px;margin:0 0 10px;color:#d6c8dc;font:800 11px/1 system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase}
#modal .cs-title::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,#ffffff2e,transparent)}
#modal .cs-rules{display:grid;gap:8px;margin:0;padding:0;list-style:none}
#modal .cs-rules .cs-rule{--acc:#f5c46b;position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;
  margin:0;padding:10px 12px 10px 10px;border-radius:12px;color:#efe5ea;font-size:14px;line-height:1.38;
  border:1px solid color-mix(in srgb,var(--acc) 24%,#ffffff0d);
  background:linear-gradient(90deg,color-mix(in srgb,var(--acc) 11%,transparent),#ffffff03 65%);
  transition:border-color .25s,background .25s,box-shadow .25s,translate .25s}
#modal .cs-rules .cs-rule::before{content:none;display:none}
#modal .cs-rule[data-icon="music"]{--acc:#ff6fd0}
#modal .cs-rule[data-icon="bandage"],#modal .cs-rule[data-icon="fist"]{--acc:#ff8f7a}
#modal .cs-rule[data-icon="bottle"]{--acc:#7fd8f0}
#modal .cs-rule[data-icon="eye"]{--acc:#a6eaa0}
#modal .cs-rule-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:var(--acc);
  border:1px solid color-mix(in srgb,var(--acc) 50%,transparent);
  background:radial-gradient(circle at 35% 28%,color-mix(in srgb,var(--acc) 32%,#2a2230),#18121c 78%);
  box-shadow:0 0 16px -2px color-mix(in srgb,var(--acc) 40%,transparent),inset 0 1px 0 #ffffff1c}
#modal .cs-rule-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
#modal .cs-rule-text{min-width:0;overflow-wrap:break-word}
#modal .cs-rule-voice{position:absolute;left:36px;top:4px;display:none;align-items:flex-end;gap:1.5px;height:13px;padding:2px 3px;border-radius:5px;background:#ffd65c;box-shadow:0 0 10px #ffc93d99}
#modal .cs-rule-voice i{display:block;width:2px;height:40%;border-radius:1px;background:#2b1d06;animation:csEq .7s ease-in-out infinite}
#modal .cs-rule-voice i:nth-child(2){animation-delay:-.2s}#modal .cs-rule-voice i:nth-child(3){animation-delay:-.45s}
#modal .cs-rules .cs-rule.is-reading{border-color:#ffd65c;color:#fff6dc;translate:3px 0;
  background:linear-gradient(90deg,#ffd65c2b,#ffd65c08 72%);box-shadow:0 0 0 1px #ffd65c55,0 0 24px -4px #ffc93d66}
#modal .cs-rules .cs-rule.is-reading .cs-rule-ico{color:#ffe08a;border-color:#ffd65c;animation:csPulse 1.1s ease-in-out infinite}
#modal .cs-rules .cs-rule.is-reading .cs-rule-voice{display:inline-flex}
@keyframes csPulse{0%,100%{box-shadow:0 0 10px -2px #ffd65c66}50%{box-shadow:0 0 22px 2px #ffd65caa}}
/* Key caps */
#modal .cs-keys{display:grid;gap:8px}
#modal .cs-key-row{display:grid;grid-template-columns:148px minmax(0,1fr);align-items:center;gap:12px;padding:8px 10px;border-radius:12px;background:#0000002e;border:1px solid #ffffff0e}
#modal .cs-caps{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
#modal .cs-controls kbd{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:30px;height:30px;padding:0 8px;border-radius:8px;
  color:#fff4e8;font:800 12px/1 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.02em;text-shadow:0 1px 0 #0009;
  border:1px solid #6e5b76;border-bottom-color:#17111a;background:linear-gradient(180deg,#4a3e52,#2b2231 58%,#221a27);
  box-shadow:0 3px 0 #110c13,0 5px 10px #0007,inset 0 1px 0 #ffffff33}
#modal .cs-controls kbd.k-wide{min-width:66px}
#modal .cs-wasd{display:grid;grid-template-columns:repeat(3,30px);grid-template-rows:30px 30px;gap:4px}
#modal .cs-wasd kbd{width:30px;min-width:0;padding:0;color:#8be8ff}
#modal .cs-wasd .k-w{grid-area:1/2}#modal .cs-wasd .k-a{grid-area:2/1}#modal .cs-wasd .k-s{grid-area:2/2}#modal .cs-wasd .k-d{grid-area:2/3}
#modal .cs-controls kbd.k-mouse{padding:0 8px 0 6px}
#modal .cs-controls kbd.k-mouse i{position:relative;display:block;flex:none;width:11px;height:15px;border:1.6px solid currentColor;border-radius:6px}
#modal .cs-controls kbd.k-mouse i::before{content:"";position:absolute;left:0;top:0;width:50%;height:46%;border-radius:4px 0 0 0;background:#ff7ad9;box-shadow:0 0 6px #ff7ad9}
#modal .cs-controls kbd.k-mouse i::after{content:"";position:absolute;left:50%;top:0;width:1.4px;height:46%;translate:-50% 0;background:currentColor}
#modal .cs-key-copy{display:grid;gap:2px;min-width:0}
#modal .cs-key-copy b{color:#fff;font:800 15px/1.15 system-ui,sans-serif}
#modal .cs-key-copy small{color:var(--cs-muted);font:600 12px/1.3 system-ui,sans-serif}
#modal .cs-arrows{color:#e9def0;letter-spacing:.12em;white-space:nowrap}
#modal .cs-touch{display:flex;align-items:center;gap:9px;margin:10px 2px 0;color:var(--cs-muted);font-size:12px;line-height:1.35}
#modal .cs-touch i{position:relative;flex:none;width:13px;height:20px;border:1.6px solid currentColor;border-radius:4px}
#modal .cs-touch i::after{content:"";position:absolute;left:50%;bottom:2px;width:4px;height:1.6px;translate:-50% 0;border-radius:1px;background:currentColor}
#modal .cs-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px}
#modal .cs-foot .fineprint{margin:0;color:var(--cs-muted);font-size:12.5px;line-height:1.4}
#modal:is(.club-sign-dialog,.club-help-dialog) .cs-foot button.primary{flex:none;min-height:48px;padding:0 24px;border-radius:12px;
  border:1px solid #ffd27a;color:#2a1a06;font:850 15px/1 system-ui,sans-serif;
  background:linear-gradient(180deg,#ffe7a6,#e9b653);box-shadow:0 4px 0 #8a5a17,0 10px 26px -6px #ffbf4a66,inset 0 1px 0 #fff9}
#modal:is(.club-sign-dialog,.club-help-dialog) .cs-foot button.primary:hover{filter:brightness(1.06)}
#modal:is(.club-sign-dialog,.club-help-dialog) .cs-foot button.primary:active{translate:0 2px;box-shadow:0 2px 0 #8a5a17}
#modal:is(.club-sign-dialog,.club-help-dialog) .cs-foot button.primary:focus-visible{outline:2px solid #fff0ba;outline-offset:3px}
@media(max-width:780px){
  #modal .cs-body{grid-template-columns:1fr}
  #modal:is(.club-sign-dialog,.club-help-dialog) #modalContent{padding:16px 14px 16px}
  #modal .cs-hero{padding:2px 44px 12px}
  #modal .cs-rules .cs-rule{grid-template-columns:32px minmax(0,1fr);gap:10px;padding:8px 10px 8px 8px;font-size:13.5px;line-height:1.35}
  #modal .cs-rule-ico{width:32px;height:32px;border-radius:9px}
  #modal .cs-rule-ico svg{width:19px;height:19px}
  #modal .cs-rule-voice{left:30px}
  #modal .cs-panel{padding:12px}
  #modal .cs-key-row{grid-template-columns:142px minmax(0,1fr);gap:10px;padding:7px 9px}
  #modal .cs-foot{flex-direction:column;align-items:stretch;gap:10px}
  #modal:is(.club-sign-dialog,.club-help-dialog) .cs-foot button.primary{width:100%}
}
@media(min-width:781px) and (max-height:620px){
  #modal .cs-hero{padding-bottom:10px}
  #modal .cs-neon{font-size:32px}
  #modal .cs-sub{margin-top:5px}
  #modal .cs-rules .cs-rule{padding:7px 10px 7px 8px;font-size:13px}
  #modal .cs-key-row{padding:6px 9px}
}
@media(prefers-reduced-motion:reduce){
  #modal .cs-neon,#modal .cs-eq i,#modal .cs-rule-voice i,#modal .cs-rules .cs-rule.is-reading .cs-rule-ico{animation:none!important}
  #modal .cs-rules .cs-rule{transition:none}
  #modal .cs-rules .cs-rule.is-reading{translate:none}
}
@media(forced-colors:active){
  #modal .cs-neon{text-shadow:none}
  #modal .cs-rules .cs-rule.is-reading{outline:2px solid Highlight}
}

/* ===== 0.39 · Club bottom HUD: rolling share, cracking hearts, draining ring =====
   The Кировская inventory cell is gone (the bar sells it at the counter), so the dock is
   controls + stats. club-fullscreen.css media grids are restated here for every breakpoint. */
body.club-live .club-bottom-dock{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"controls stats";
  background:radial-gradient(ellipse at 60% 0,#ff4fc314,transparent 60%),linear-gradient(180deg,#221c27,#131118);
  border-top:1px solid #6b4a63;box-shadow:0 -6px 22px #0007,inset 0 1px 0 #ff9ce022}
body.club-live .club-bottom-dock::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,#ff5fcf 22%,#ffd27a 50%,#5fd8ff 78%,transparent);opacity:.75}
body.club-live .club-bottom-dock{position:relative}
body.club-live .club-stats{grid-template-columns:minmax(170px,1.25fr) auto auto;align-items:center;gap:8px clamp(18px,2.6vw,40px);max-width:680px}
body.club-live .club-stat-copy{display:grid;gap:3px;min-width:0}
body.club-live .club-earnings{display:flex;align-items:center;gap:12px}
body.club-live .club-coin{position:relative;flex:none;width:40px;height:40px;border-radius:50%;
  background:radial-gradient(circle at 34% 28%,#fff7cf 0,#ffd75a 34%,#e0a020 68%,#8d5c0b 100%);
  box-shadow:0 0 0 2px #4d3205,0 0 16px #ffc93d55,inset 0 -3px 5px #7a4d0a99,inset 0 2px 2px #fff8}
body.club-live .club-coin::before{content:"₽";position:absolute;inset:0;display:grid;place-items:center;color:#7a4b06;font:900 20px/1 system-ui,sans-serif;text-shadow:0 1px 0 #ffeeb0}
body.club-live .club-coin::after{content:"";position:absolute;inset:3px;border-radius:50%;border:1.5px solid #fff3c255}
body.club-live #clubCash{color:#ffe7a3;font-size:clamp(28px,2.3vw,38px);font-variant-numeric:tabular-nums;letter-spacing:-.03em;
  text-shadow:0 0 14px #ffc93d40,0 2px 0 #3a2604;transform-origin:left center}
body.club-live #clubCash.is-bump{animation:clubBump .42s cubic-bezier(.2,.9,.3,1.4)}
body.club-live .club-earnings:has(#clubCash.is-bump) .club-coin{animation:clubCoinSpin .5s ease-out}
@keyframes clubBump{0%{scale:1;color:#ffe7a3}35%{scale:1.13;color:#fff9e0;text-shadow:0 0 22px #ffd75acc,0 2px 0 #3a2604}100%{scale:1}}
@keyframes clubCoinSpin{0%{rotate:y 0deg}100%{rotate:y 360deg}}
/* Hearts */
body.club-live #clubHP{display:inline-flex;align-items:center;gap:6px;height:28px;font-size:0;letter-spacing:0;color:transparent}
body.club-live #clubHP .club-heart{position:relative;display:block;width:27px;height:25px;filter:drop-shadow(0 0 6px #ff3b5c99) drop-shadow(0 2px 0 #3a0610)}
body.club-live #clubHP .club-heart::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ff8796,#ec2c4a 55%,#b3132e);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.2S2.6 15.4 2.6 8.9A5.2 5.2 0 0 1 12 6a5.2 5.2 0 0 1 9.4 2.9c0 6.5-9.4 12.3-9.4 12.3z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.2S2.6 15.4 2.6 8.9A5.2 5.2 0 0 1 12 6a5.2 5.2 0 0 1 9.4 2.9c0 6.5-9.4 12.3-9.4 12.3z'/%3E%3C/svg%3E") center/contain no-repeat}
body.club-live #clubHP .club-heart::after{content:"";position:absolute;left:24%;top:22%;width:22%;height:16%;border-radius:50%;background:#fff;opacity:.55;rotate:-30deg}
body.club-live #clubHP[data-lives="1"] .club-heart:nth-child(2),
body.club-live #clubHP[data-lives="0"] .club-heart{filter:drop-shadow(0 2px 0 #0008)}
body.club-live #clubHP[data-lives="1"] .club-heart:nth-child(2)::before,
body.club-live #clubHP[data-lives="0"] .club-heart::before{background:linear-gradient(180deg,#6d5b63,#43363d);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.3 6.3A5.2 5.2 0 0 0 2.4 9.1c0 5.8 7.6 11 8.9 11.9l-.9-4.6 2-3.1-2.4-3.2z' transform='rotate(-8 7 13) translate(-.6 .4)'/%3E%3Cpath d='M12.9 6.4A5.2 5.2 0 0 1 21.6 9.1c0 5.8-7.6 11-8.9 11.9l1.3-4.4-2.1-3.3 2.2-3.4z' transform='rotate(8 17 13) translate(.6 .4)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.3 6.3A5.2 5.2 0 0 0 2.4 9.1c0 5.8 7.6 11 8.9 11.9l-.9-4.6 2-3.1-2.4-3.2z' transform='rotate(-8 7 13) translate(-.6 .4)'/%3E%3Cpath d='M12.9 6.4A5.2 5.2 0 0 1 21.6 9.1c0 5.8-7.6 11-8.9 11.9l1.3-4.4-2.1-3.3 2.2-3.4z' transform='rotate(8 17 13) translate(.6 .4)'/%3E%3C/svg%3E")}
body.club-live #clubHP[data-lives="1"] .club-heart:nth-child(2)::after,
body.club-live #clubHP[data-lives="0"] .club-heart::after{display:none}
body.club-live #clubHP[data-lives="1"] .club-heart:nth-child(1){animation:clubHeartBeat 1.05s ease-in-out infinite}
body.club-live #clubHP.is-hit[data-lives="1"] .club-heart:nth-child(2),
body.club-live #clubHP.is-hit[data-lives="0"] .club-heart:nth-child(1){animation:clubHeartBreak .7s cubic-bezier(.3,.7,.3,1)}
@keyframes clubHeartBeat{0%,60%,100%{scale:1}15%{scale:1.16}30%{scale:.98}45%{scale:1.08}}
@keyframes clubHeartBreak{0%{scale:1.45;filter:drop-shadow(0 0 14px #ff3b5c) brightness(2)}20%{translate:-3px 0}35%{translate:3px 0}50%{translate:-2px 0;scale:1}100%{translate:0 0}}
/* Closing-time ring */
body.club-live .club-timer{display:flex;align-items:center;gap:9px}
body.club-live .club-ring{position:relative;flex:none;width:40px;height:40px}
body.club-live .club-ring svg{display:block;width:100%;height:100%;overflow:visible}
body.club-live .club-ring .ring-bg{fill:#00000059;stroke:#ffffff1c;stroke-width:3.6}
body.club-live .club-ring .ring-fg{fill:none;stroke:#86e3ff;stroke-width:3.6;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:0;
  transform:rotate(-90deg);transform-origin:20px 20px;transition:stroke-dashoffset .35s linear,stroke .3s;filter:drop-shadow(0 0 3px #5fd4ffaa)}
body.club-live .club-ring .ring-hand{fill:none;stroke:#d7f3ff;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
body.club-live #clubTime{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--club-ink)}
body.club-live .club-timer.is-urgent .ring-fg{stroke:#ff7a6b;filter:drop-shadow(0 0 4px #ff5a4a)}
body.club-live .club-timer.is-urgent .ring-hand{stroke:#ffd0c8}
body.club-live .club-timer.is-urgent .club-ring{animation:clubRingPulse 1s ease-in-out infinite}
@keyframes clubRingPulse{0%,100%{scale:1}50%{scale:1.08}}
/* Zone pips in the top-left badge: bar amber, DJ cyan, VIP magenta */
body.club-live .club-zone-pips{display:flex;gap:5px;margin-top:3px}
body.club-live .club-zone-pips i{display:block;width:16px;height:4px;border-radius:2px;background:#ffffff26;transition:background .3s,box-shadow .3s}
body.club-live .club-zone-pips[data-done~="bar"] [data-zone="bar"]{background:#ffb347;box-shadow:0 0 6px #ffb347}
body.club-live .club-zone-pips[data-done~="dj"] [data-zone="dj"]{background:#5fd8ff;box-shadow:0 0 6px #5fd8ff}
body.club-live .club-zone-pips[data-done~="vip"] [data-zone="vip"]{background:#ff5fcf;box-shadow:0 0 6px #ff5fcf}
@media (max-width:1099px){
  body.club-live .club-bottom-dock{grid-template-columns:minmax(0,1fr);grid-template-areas:"stats" "controls"}
  body.club-live .club-stats{grid-template-columns:minmax(150px,1fr) auto auto;max-width:none}
  body.club-live #clubCash{font-size:28px}
}
@media (max-width:600px){
  body.club-live .club-bottom-dock{grid-template-columns:minmax(0,1fr);grid-template-areas:"stats" "controls"}
  body.club-live .club-stats{grid-template-columns:minmax(0,1fr) auto auto;gap:6px 12px}
  body.club-live .club-coin{width:30px;height:30px}
  body.club-live .club-coin::before{font-size:15px}
  body.club-live .club-earnings{gap:8px}
  body.club-live #clubCash{font-size:25px}
  body.club-live #clubHP{gap:4px;height:22px}
  body.club-live #clubHP .club-heart{width:22px;height:20px}
  body.club-live .club-ring{width:32px;height:32px}
  body.club-live .club-timer{gap:6px}
  body.club-live #clubTime{font-size:19px}
}
@media (max-width:360px){
  body.club-live .club-stats{grid-template-columns:minmax(0,1fr) auto auto}
  body.club-live .club-earnings{grid-column:auto}
  body.club-live .club-stat-label{font-size:8.5px}
  body.club-live #clubCash{font-size:22px}
}
@media (min-width:760px) and (max-width:1099px) and (max-height:500px){
  body.club-live .club-bottom-dock{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"controls stats"}
  body.club-live .club-stats{grid-template-columns:minmax(120px,1fr) auto auto;gap:6px 12px}
}
@media (prefers-reduced-motion:reduce){
  body.club-live #clubCash.is-bump,body.club-live .club-coin,body.club-live #clubHP .club-heart,body.club-live .club-ring{animation:none!important}
  body.club-live .club-ring .ring-fg{transition:none}
}
@media (forced-colors:active){
  body.club-live #clubHP .club-heart::before{forced-color-adjust:none;background:CanvasText}
  body.club-live .club-ring .ring-fg{stroke:Highlight}
}

/* ===== 0.39 · Club money flight: coins travel from the scene into the share coin ===== */
.club-fly-coin{position:fixed;left:0;top:0;z-index:70;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 34% 28%,#fff7cf 0,#ffd75a 34%,#e0a020 68%,#8d5c0b 100%);
  box-shadow:0 0 0 1.5px #4d3205,0 0 12px #ffc93d99;will-change:transform,opacity}
.club-fly-coin::before{content:"₽";position:absolute;inset:0;display:grid;place-items:center;color:#7a4b06;font:900 10px/1 system-ui,sans-serif}
body.club-live .club-coin.is-catch{animation:clubCoinCatch .32s cubic-bezier(.2,.9,.3,1.5)}
@keyframes clubCoinCatch{0%{scale:1}40%{scale:1.2;box-shadow:0 0 0 2px #4d3205,0 0 26px #ffd75acc,inset 0 -3px 5px #7a4d0a99}100%{scale:1}}
@media (prefers-reduced-motion:reduce){.club-fly-coin{display:none}body.club-live .club-coin.is-catch{animation:none}}

/* 0.39: context labels ("Войти в бар", "Выдохнуть") never break mid-word on desktop. */
body.club-live #clubGame .combat-controls button{white-space:nowrap;overflow-wrap:normal}
@media (min-width:1100px) and (pointer:fine){
  body.club-live #clubGame .combat-controls{grid-template-columns:minmax(84px,1fr) minmax(84px,1fr) minmax(124px,1.5fr);width:clamp(320px,30vw,420px)}
}

/* ===== 0.39 · Rhythm lane: neon conveyor, orb notes, pulsing target ring =====
   Geometry is unchanged (250×80 panel, 44px track): the camera reserves exactly that
   space under Babay's feet. Only the look, the burst and the miss shake are new. */
body.club-live #clubGame .arena #rhythmPanel{padding:6px 8px;border:1px solid #6d3d74;border-radius:12px;
  background:linear-gradient(180deg,#1e1428f5,#0c0a15f5);
  box-shadow:0 6px 18px #000a,0 0 18px #ff4fc31f,inset 0 1px #ffffff12}
body.club-live #clubGame .arena #rhythmPanel::before{content:"";position:absolute;left:12px;right:12px;top:-1px;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,#ff5fcf,#ffd27a 50%,#5fd8ff,transparent);opacity:.8}
body.club-live #clubGame #rhythmPanel[data-grade="perfect"]{border-color:#f0cf6f;box-shadow:0 6px 18px #000a,0 0 22px #ffc93d55,inset 0 1px #ffffff12}
body.club-live #clubGame #rhythmPanel[data-grade="good"]{border-color:#5fd8ff;box-shadow:0 6px 18px #000a,0 0 20px #5fd8ff44,inset 0 1px #ffffff12}
body.club-live #clubGame #rhythmPanel[data-grade="miss"]{border-color:#ff6b6b}
/* 0.40: a miss never moves the lane (a shaking target spoils the next beat) — only a short red glow. */
body.club-live #clubGame #rhythmPanel.is-miss{animation:rhythmMiss .3s ease-out}
@keyframes rhythmMiss{0%{box-shadow:0 6px 18px #000a,0 0 22px #ff4d4d88,inset 0 0 0 1px #ff6b6b66}100%{box-shadow:0 6px 18px #000a,0 0 18px #ff4fc31f,inset 0 1px #ffffff12}}
/* Head: combo chip · grade · reward */
body.club-live #clubGame #rhythmPanel #rhythmHint{display:inline-grid;place-items:center;min-width:30px;height:18px;padding:0 6px;border-radius:9px;
  font:900 11px/18px system-ui,sans-serif;letter-spacing:0;color:#fff;background:linear-gradient(180deg,#ff6fd6,#b42a92);box-shadow:0 0 10px #ff4fc366}
body.club-live #clubGame #rhythmPanel #rhythmHint:empty{visibility:hidden;box-shadow:none}
body.club-live #clubGame #rhythmPanel #rhythmHint:is([data-combo="5"],[data-combo="6"],[data-combo="7"],[data-combo="8"],[data-combo="9"]){
  color:#3a2203;background:linear-gradient(180deg,#ffe58a,#e09a1f);box-shadow:0 0 12px #ffc93d99}
body.club-live #clubGame #rhythmGrade{letter-spacing:.08em;text-shadow:0 0 10px #ffffff2a}
body.club-live #clubGame #rhythmGrade::after{content:none}
body.club-live #clubGame #rhythmGrade[data-grade="ИДЕАЛЬНО"]{color:#ffe08a;text-shadow:0 0 12px #ffc93d88}
body.club-live #clubGame #rhythmGrade:is([data-grade="ЧЁТКО"],[data-grade="НОРМАЛЬНО"]){color:#9eeaff;text-shadow:0 0 10px #5fd8ff66}
body.club-live #clubGame #rhythmGrade[data-grade="ПЛОХО"]{color:#ff9d8f}
body.club-live #clubGame #rhythmReward{padding:0 5px;border:1px solid #ffffff24;border-radius:5px;line-height:16px;color:#cfc6e0;background:#ffffff0d;font-size:9.5px;letter-spacing:.04em}
body.club-live #clubGame #rhythmReward[data-state="cash"]{border-color:#ffc93d88;color:#ffe7a3;background:#ffc93d1f;font-size:11px;font-weight:900}
/* Lane */
body.club-live #clubGame #rhythmTap{border:1px solid #3e2f54;border-radius:9px;
  background:
    linear-gradient(90deg,#0b0913 0,#0b091300 16%,#0b091300 84%,#0b0913 100%),
    linear-gradient(180deg,transparent calc(50% - 1px),#ff5fcf40 calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),
    repeating-linear-gradient(90deg,#9d7dff1c 0 2px,transparent 2px var(--lane-step,31px)),
    radial-gradient(ellipse 40% 90% at 22% 50%,#5fd8ff26,transparent 70%),
    linear-gradient(180deg,#140f20,#0a0912);
  background-position:0 0,0 0,var(--lane-shift,0px) 0,0 0,0 0;
  box-shadow:inset 0 0 0 1px #ffffff08,inset 0 6px 12px #0009}
body.club-live #clubGame #rhythmTap:enabled:active,
body.club-live #clubGame #rhythmPanel.is-pressed #rhythmTap{border-color:#5fd8ff;box-shadow:inset 0 0 0 1px #5fd8ff55,inset 0 6px 12px #0009}
body.club-live #clubGame #rhythmTap .rhythm-window{left:calc(22% - 21px);width:42px;border:0;
  background:linear-gradient(90deg,transparent,#5fd8ff1c 28%,#5fd8ff30 50%,#5fd8ff1c 72%,transparent)}
/* Target ring (glyph hidden) */
body.club-live #clubGame #rhythmTap .rhythm-target{width:30px;height:30px;border:2px solid #7fe3ff;border-radius:50%;font-size:0;color:transparent;
  background:radial-gradient(circle,#5fd8ff22 0 45%,transparent 46%);box-shadow:0 0 0 3px #5fd8ff1a,0 0 10px #5fd8ff44}
body.club-live #clubGame #rhythmTap .rhythm-target::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid #ffffff;opacity:0;pointer-events:none}
body.club-live #clubGame #rhythmTap.beat-now .rhythm-target{color:transparent;border-color:#e6fbff;background:radial-gradient(circle,#9eeaff66 0 48%,transparent 50%);
  box-shadow:0 0 0 4px #5fd8ff33,0 0 18px #5fd8ffaa}
body.club-live #clubGame #rhythmPanel.is-pressed .rhythm-target{border-width:3px;color:transparent;background:radial-gradient(circle,#ffffffaa 0 40%,#5fd8ff55 41% 60%,transparent 62%)}
body.club-live #clubGame #rhythmTap.is-burst .rhythm-target::after{animation:rhythmBurst .24s ease-out}
body.club-live #clubGame #rhythmPanel[data-grade="perfect"] #rhythmTap.is-burst .rhythm-target::after{border-color:#ffd75a}
@keyframes rhythmBurst{0%{opacity:.9;scale:1}100%{opacity:0;scale:1.7}}
/* Orb notes (glyph hidden) with a short trail on the incoming side */
body.club-live #clubGame #rhythmTap .beat-note{top:10px;width:22px;height:22px;font-size:0;color:transparent;text-shadow:none}
body.club-live #clubGame #rhythmTap .beat-note::before{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;
  background:radial-gradient(circle at 36% 32%,#ffffff 0,#ffd6f4 22%,#ff5fcf 58%,#a01f84 100%);box-shadow:0 0 10px #ff4fc3aa,0 0 2px #fff}
body.club-live #clubGame #rhythmTap .beat-note::after{content:"";position:absolute;left:15px;top:8px;width:20px;height:6px;border-radius:3px;
  background:linear-gradient(90deg,#ff5fcf88,transparent);pointer-events:none}
body.club-live #clubGame #rhythmTap .beat-note.hit{opacity:1}
body.club-live #clubGame #rhythmTap .beat-note.hit::before{background:radial-gradient(circle,#fff6 0 30%,transparent 32%);box-shadow:0 0 0 2px #ffd75a88;scale:1.5;transition:scale .18s ease-out}
body.club-live #clubGame #rhythmTap .beat-note.hit::after{opacity:0}
@media (max-width:360px){
  body.club-live #clubGame #rhythmPanel #rhythmHint{display:inline-grid;min-width:26px;padding:0 4px;font-size:10px}
}
@media (prefers-reduced-motion:reduce){
  body.club-live #clubGame #rhythmPanel.is-miss,body.club-live #clubGame #rhythmTap.is-burst .rhythm-target::after{animation:none}
  body.club-live #clubGame #rhythmTap{background-position:0 0!important}
  body.club-live #clubGame #rhythmTap.beat-now .rhythm-target{border-color:#7fe3ff;background:radial-gradient(circle,#5fd8ff22 0 45%,transparent 46%);box-shadow:0 0 0 3px #5fd8ff1a}
  body.club-live #clubGame #rhythmTap .beat-note.hit::before{transition:none}
}
@media (forced-colors:active){
  body.club-live #clubGame #rhythmTap .beat-note::before{forced-color-adjust:none;background:CanvasText;box-shadow:none}
  body.club-live #clubGame #rhythmTap .beat-note::after{display:none}
  body.club-live #clubGame #rhythmTap .rhythm-target{border-color:Highlight}
}

/* ===== 0.39 · «Как достать алименты»: first-run controls card =====
   Shown once, right after the title screen; the attempt is paused while it is open.
   Reuses the club card layout (cs-*) in the apartment palette: warm amber on dark brown. */
#modal.alimony-controls-dialog{
  --cs-ink:#f6ead6;--cs-muted:#c3b195;--cs-line:#ffe2b31c;
  width:min(840px,calc(100vw - 24px));max-height:calc(100dvh - 24px);
  padding:0;overflow:auto;overscroll-behavior:contain;color:var(--cs-ink);
  border:1px solid #c99a5470;border-radius:20px;
  background:
    radial-gradient(80% 52% at 50% -8%,#f0a43a38,transparent 62%),
    radial-gradient(50% 40% at -4% 104%,#e0553c1c,transparent 70%),
    linear-gradient(180deg,#231b14,#130f0b 74%);
  box-shadow:0 40px 90px -24px #000,0 0 0 1px #000c,0 0 72px -18px #f0a43a59;
  animation:alBriefIn .42s cubic-bezier(.16,1,.3,1) both;
}
#modal.alimony-controls-dialog::backdrop{background:#0a0705c7;backdrop-filter:blur(6px) brightness(.62)}
#modal.alimony-controls-dialog #modalContent{display:block;min-height:0;padding:20px 26px 22px}
#modal.alimony-controls-dialog #closeModal{
  position:absolute;right:14px;top:14px;z-index:3;width:40px;height:40px;min-height:40px;padding:0;
  border:1px solid #ffe2b336;border-radius:12px;background:#130e0ad9;color:#fff1dc;font-size:24px;line-height:1;box-shadow:0 4px 14px #0008}
#modal.alimony-controls-dialog #closeModal:hover{border-color:#f7bf66;box-shadow:0 0 0 1px #f7bf6655,0 4px 14px #0008}
#modal .al-brief-hero{position:relative;display:grid;justify-items:center;gap:4px;padding:0 48px 14px;text-align:center}
#modal .al-brief-logo{display:block;width:clamp(190px,32vw,290px);height:auto;margin:0 0 2px;filter:drop-shadow(0 10px 16px #000b);
  transform-origin:50% 75%;animation:alBriefLogo .7s .08s cubic-bezier(.16,1,.3,1) both}
#modal .al-brief-hero .eyebrow{color:#f7bf66;font:800 11.5px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.25em}
#modal .al-brief-title{margin:2px 0 0;color:#fff2d9;font:900 clamp(24px,3.6vw,32px)/1 system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing:.07em;text-transform:uppercase;text-shadow:0 2px 0 #0009,0 0 26px #f0a43a59}
#modal .al-brief-stamp{position:absolute;left:4px;top:4px;padding:6px 10px 5px;border:2px solid #e0603f;border-radius:7px;
  color:#ff8a66;background:#e0603f12;font:900 12px/1 system-ui,sans-serif;letter-spacing:.3em;text-indent:.3em;
  box-shadow:inset 0 0 0 1px #e0603f40,0 0 18px -6px #e0603f99;rotate:-7deg;opacity:.92;animation:alBriefStamp .5s .3s cubic-bezier(.2,1.6,.4,1) both}
#modal.alimony-controls-dialog .cs-panel{border-color:var(--cs-line);background:linear-gradient(180deg,#ffe9c40c,#ffe9c403);box-shadow:inset 0 1px 0 #ffe9c412}
#modal.alimony-controls-dialog .cs-title{color:#e6d1ad}
#modal.alimony-controls-dialog .cs-title::after{background:linear-gradient(90deg,#ffe2b333,transparent)}
#modal.alimony-controls-dialog .cs-key-row{background:#0000003a;border-color:#ffe2b312}
#modal.alimony-controls-dialog .cs-controls kbd{color:#fff1dc;border-color:#7d6445;border-bottom-color:#1a120b;
  background:linear-gradient(180deg,#5c4731,#3b2c1e 58%,#2f2418);box-shadow:0 3px 0 #140e09,0 5px 10px #0007,inset 0 1px 0 #ffffff2e}
#modal.alimony-controls-dialog .cs-wasd kbd{color:#ffd18a}
#modal.alimony-controls-dialog .cs-controls kbd.k-mouse i::before{background:#f7bf66;box-shadow:0 0 6px #f7bf66}
#modal.alimony-controls-dialog .cs-arrows{color:#f1e2c8}
#modal .al-wait{position:relative;display:grid;place-items:center;width:38px;height:38px;margin-left:2px;border-radius:50%;color:#ffd18a;background:#0000004d;border:1px solid #ffd18a33}
#modal .al-wait svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@property --al-wait{syntax:"<percentage>";inherits:false;initial-value:0%}
#modal .al-wait i{position:absolute;inset:-4px;border-radius:50%;--al-wait:70%;
  background:conic-gradient(#ffd18a var(--al-wait),#ffd18a1f 0);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px));
  animation:alWait 2.6s ease-in-out infinite}
#modal.alimony-controls-dialog .cs-rules .cs-rule{background:#00000033;border-color:#ffe2b314}
#modal.alimony-controls-dialog .cs-rule[data-icon="eye"]{--acc:#ff9a5c}
#modal.alimony-controls-dialog .cs-rule[data-icon="bottle"]{--acc:#ffd166}
#modal.alimony-controls-dialog .cs-rule[data-icon="exit"]{--acc:#8fdc8a}
#modal.alimony-controls-dialog .cs-rule[data-icon="talk"]{--acc:#ff9fc0}
#modal.alimony-controls-dialog .cs-foot button.primary{flex:none;min-height:48px;padding:0 26px;border-radius:12px;
  border:1px solid #ffd98f;color:#241505;font:850 15px/1 system-ui,sans-serif;
  background:linear-gradient(180deg,#ffdc96,#e3a94e);box-shadow:0 4px 0 #7a4f16,0 10px 26px -6px #f0a43a70,inset 0 1px 0 #fffa}
#modal.alimony-controls-dialog .cs-foot button.primary:hover{filter:brightness(1.06)}
#modal.alimony-controls-dialog .cs-foot button.primary:active{translate:0 2px;box-shadow:0 2px 0 #7a4f16}
#modal.alimony-controls-dialog .cs-foot button.primary:focus-visible{outline:2px solid #fff0ba;outline-offset:3px}
@keyframes alBriefIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
@keyframes alBriefLogo{from{opacity:0;transform:translateY(14px) scale(.86) rotate(-2deg)}to{opacity:1;transform:none}}
@keyframes alBriefStamp{from{opacity:0;scale:1.6}to{opacity:.92;scale:1}}
@keyframes alWait{0%{--al-wait:0%}70%,100%{--al-wait:100%}}
@media(max-width:780px){
  #modal.alimony-controls-dialog #modalContent{padding:16px 14px 16px}
  #modal .al-brief-hero{padding:0 44px 12px}
  #modal .al-brief-logo{width:min(220px,56vw)}
  #modal .al-brief-stamp{left:0;top:2px;font-size:10.5px;padding:5px 8px 4px}
  #modal.alimony-controls-dialog .cs-foot button.primary{width:100%}
  #modal.alimony-controls-dialog .cs-key-row{grid-template-columns:104px minmax(0,1fr)}
}
@media(max-height:620px){
  #modal .al-brief-hero{padding-bottom:10px}
  #modal .al-brief-logo{width:160px}
  #modal .al-brief-title{font-size:24px}
}
@media(max-height:440px){
  #modal .al-brief-logo{width:124px}
  #modal .al-brief-title{font-size:20px}
}
@media(prefers-reduced-motion:reduce){
  #modal.alimony-controls-dialog,#modal .al-brief-logo,#modal .al-brief-stamp,#modal .al-wait i{animation:none!important}
}
@media(forced-colors:active){
  #modal.alimony-controls-dialog{border:2px solid CanvasText}
  #modal .al-brief-stamp{border-color:CanvasText;color:CanvasText}
  #modal .al-wait i{forced-color-adjust:none;background:Highlight}
}

/* ===== 0.39 · Payday: the salary ring flashes, coins fly into «Твой баланс», the number glows =====
   Notice cards themselves live in presentation.css; app.js salaryFanfare() drives these classes. */
body.location-shell #locationShell .salary-button.is-paid{animation:salaryPaid .7s cubic-bezier(.2,.9,.3,1.3)}
body.location-shell #locationShell .salary-button.is-paid>span{animation:salaryPaidGlyph .7s ease-out}
@keyframes salaryPaid{0%{scale:1;box-shadow:0 3px 0 #10120f,0 0 0 0 #ffd77e00}30%{scale:1.14;box-shadow:0 3px 0 #10120f,0 0 0 6px #ffd77e55,0 0 30px #ffd77e99}100%{scale:1;box-shadow:0 3px 0 #10120f,0 0 0 14px #ffd77e00}}
@keyframes salaryPaidGlyph{30%{color:#fff3c4;text-shadow:0 0 12px #ffd77e,0 2px 3px #0009}}
.salary-fly-coin{z-index:9000;width:20px;height:20px;margin:-10px 0 0 -10px}
body.location-shell #locationShell .wallets #playerMoney.is-gain,#playerMoney.is-gain{animation:walletGain .55s cubic-bezier(.2,.9,.3,1.4)}
@keyframes walletGain{0%{scale:1}35%{scale:1.14;color:#ffe29a;text-shadow:0 0 14px #ffd77ecc,0 1px 2px #0006}100%{scale:1}}
#playerMoney{transform-origin:0 60%}
@media (prefers-reduced-motion:reduce){
  body.location-shell #locationShell .salary-button.is-paid,body.location-shell #locationShell .salary-button.is-paid>span,#playerMoney.is-gain{animation:none!important}
}
