/* «Великий Димастер» — ярмарочный автомат-предсказатель (Balatro-ночь + аркада). */
.scr-dimaster{padding-left:10px;padding-right:10px;justify-content:flex-start;gap:0}
.scr-dimaster .dm-back{top:auto;bottom:calc(4px + var(--safe-b));left:4px;z-index:9}

/* вывеска с бегущими лампочками */
.dm-sign{position:relative;width:min(330px,92vw);padding:11px 12px 9px;margin-top:2px;text-align:center;
  background:linear-gradient(#2a0c2c,#170618);clip-path:var(--clip8);
  box-shadow:inset 0 0 0 3px #f0b13c,inset 0 0 0 6px #170618,inset 0 0 0 8px #a8721a}
.dm-sign h2{font-family:P2;font-weight:400;font-size:clamp(14px,4.6vw,18px);line-height:1.15;color:#ffe08a;letter-spacing:1px;
  text-shadow:2px 2px 0 #d0307a,4px 4px 0 #0b0716,0 0 10px rgba(255,210,63,.55)}
.dm-sign small{display:block;margin-top:6px;font-family:T5;font-size:11px;letter-spacing:2px;color:#3fe0ff;text-shadow:0 0 6px #3fe0ff}
.dm-bulbs{position:absolute;inset:0;pointer-events:none}
.dm-bulbs i{position:absolute;width:4px;height:4px;background:#5a3a1a}
.dm-bulbs i.on{background:#fff6c8;box-shadow:0 0 4px 1px #ffd23f,0 0 9px 2px rgba(255,160,40,.6)}

/* корпус автомата */
.dm-cab{position:relative;width:min(330px,92vw);margin-top:6px;padding:10px 10px 0;
  background:linear-gradient(90deg,#3a1230 0 8px,#5a1f3a 8px calc(100% - 8px),#3a1230 calc(100% - 8px));
  clip-path:var(--clip8);box-shadow:inset 0 0 0 3px #a8721a,inset 0 0 0 5px #2a0a22}
.dm-frame{position:relative;padding:4px;background:#f0b13c;
  clip-path:polygon(0 36px,4px 36px,4px 24px,8px 24px,8px 16px,16px 16px,16px 8px,24px 8px,24px 4px,36px 4px,36px 0,calc(100% - 36px) 0,calc(100% - 36px) 4px,calc(100% - 24px) 4px,calc(100% - 24px) 8px,calc(100% - 16px) 8px,calc(100% - 16px) 16px,calc(100% - 8px) 16px,calc(100% - 8px) 24px,calc(100% - 4px) 24px,calc(100% - 4px) 36px,100% 36px,100% 100%,0 100%)}
.dm-win{position:relative;height:clamp(176px,31vh,256px);overflow:hidden;
  clip-path:polygon(0 32px,4px 32px,4px 20px,8px 20px,8px 12px,16px 12px,16px 6px,22px 6px,22px 2px,32px 2px,32px 0,calc(100% - 32px) 0,calc(100% - 32px) 2px,calc(100% - 22px) 2px,calc(100% - 22px) 6px,calc(100% - 16px) 6px,calc(100% - 16px) 12px,calc(100% - 8px) 12px,calc(100% - 8px) 20px,calc(100% - 4px) 20px,calc(100% - 4px) 32px,100% 32px,100% 100%,0 100%);
  background:
    linear-gradient(180deg,rgba(0,0,0,.55),transparent 30%),
    repeating-linear-gradient(90deg,#5e0c26 0 6px,#86163a 6px 14px,#a42048 14px 18px,#86163a 18px 24px,#4a0a1e 24px 30px)}
.dm-aura,.dm-smoke{position:absolute;left:0;top:0;pointer-events:none}
.dm-aura{z-index:0}
.dm-dima{position:absolute;left:50%;top:12px;z-index:1;width:192px;height:230px;margin-left:-96px}
.dm-dima img{width:192px;height:230px;animation:dmbreath 3.2s steps(4) infinite}
@keyframes dmbreath{50%{transform:translateY(2px)}}
.dm-eye{position:absolute;z-index:2;width:8px;height:4px;background:#e6fdff;opacity:0;
  box-shadow:0 0 4px 2px #3fe0ff,0 0 12px 5px rgba(63,224,255,.7),0 0 26px 10px rgba(208,48,122,.45)}
.dm-smoke{z-index:3}
.dm-glass{position:absolute;inset:0;z-index:4;pointer-events:none;
  background:linear-gradient(115deg,transparent 0 18%,rgba(255,255,255,.10) 18% 22%,transparent 22% 30%,rgba(255,255,255,.07) 30% 32%,transparent 32%)}
.dm-fringe{position:absolute;left:0;right:0;top:0;height:12px;z-index:5;pointer-events:none}

/* стол с шаром и щелью для билетов */
.dm-desk{position:relative;z-index:5;height:96px;margin:0 -10px;
  background:linear-gradient(#2a0a22 0 4px,#f0b13c 4px 8px,#7a3a1a 8px 12px,#5a2410 12px 60px,#3a1608 60px)}
.dm-ballwrap{position:absolute;left:50%;bottom:26px;width:132px;height:156px;margin-left:-66px;touch-action:none;cursor:pointer;z-index:6;transform-origin:50% 100%}
.dm-ball{position:absolute;left:0;top:0}
.dm-stand{position:absolute;left:50%;bottom:0;width:72px;height:30px;margin-left:-36px;
  background:linear-gradient(#ffd98a 0 4px,#f0b13c 4px 14px,#a8721a 14px 22px,#6a4410 22px);
  clip-path:polygon(16px 0,calc(100% - 16px) 0,calc(100% - 12px) 8px,calc(100% - 4px) 8px,calc(100% - 4px) 22px,100% 22px,100% 100%,0 100%,0 22px,4px 22px,4px 8px,12px 8px)}
.dm-hand{position:absolute;left:62px;top:58px;z-index:7;pointer-events:none;animation:dmtap 1.1s steps(2) infinite}
@keyframes dmtap{50%{translate:3px 7px}}
.dm-slot{position:absolute;left:50%;bottom:9px;width:150px;height:8px;margin-left:-75px;background:#0b0716;box-shadow:0 -2px 0 #1a0710,0 2px 0 #f0b13c}
.dm-slotlab{position:absolute;left:12px;bottom:28px;font-family:T5;font-size:10px;letter-spacing:1px;color:#f0b13c;opacity:.85}
.dm-slotlab.r{left:auto;right:12px}

/* табло-голос автомата */
.dm-say{position:relative;transition:opacity .2s steps(3);width:min(330px,92vw);min-height:60px;margin-top:8px;padding:9px 10px 8px;
  background:#07040f;clip-path:var(--clip4);box-shadow:inset 0 0 0 2px #5a3a8e,inset 0 0 18px rgba(63,224,255,.15);
  font-family:P2;font-size:11px;line-height:1.6;color:#7ff0ff;text-shadow:0 0 6px rgba(63,224,255,.8);text-align:center;
  display:flex;flex-direction:column;align-items:center;justify-content:center}
.dm-say .cur{display:inline-block;width:8px;height:11px;margin-left:2px;vertical-align:-1px;background:currentColor;animation:blink .8s steps(1) infinite}
.dm-say.warm{color:#ffd23f;text-shadow:0 0 6px rgba(255,210,63,.8)}
.dm-say.pro{color:#fff3d6;text-shadow:0 0 8px rgba(208,48,122,.95)}
.dm-meter{display:flex;gap:2px;justify-content:center;margin-top:7px;height:8px}
.dm-meter i{width:16px;height:8px;background:#22163a;box-shadow:inset 0 -2px 0 rgba(0,0,0,.4)}
.dm-meter i.on{background:#3fe0ff;box-shadow:inset 0 -2px 0 #1a8aa8,0 0 6px #3fe0ff}
.dm-meter i.hot{background:#d0307a;box-shadow:inset 0 -2px 0 #7a1a4a,0 0 6px #d0307a}

/* стол гадалки: бархат, золотая кромка, колода */
.dm-stage{position:relative;flex:1;min-height:140px;width:100%}
.dm-table{position:absolute;left:-10px;right:-10px;top:10px;bottom:calc(-12px - var(--safe-b));pointer-events:none;
  background:
    radial-gradient(60% 55% at 50% 38%,rgba(208,48,122,.28),transparent 70%),
    repeating-linear-gradient(90deg,rgba(0,0,0,.16) 0 3px,transparent 3px 22px),
    linear-gradient(#3a1250,#220a34 40%,#14061f)}
.dm-table::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(#ffd98a 0 2px,#f0b13c 2px 4px,#a8721a 4px)}
.dm-table::after{content:"";position:absolute;left:0;right:0;top:6px;height:8px;
  background:repeating-linear-gradient(90deg,#f0b13c 0 4px,transparent 4px 10px);clip-path:polygon(0 0,100% 0,100% 60%,0 60%)}
.dm-deck{position:absolute;left:50%;top:50%;width:var(--cw,92px);height:var(--ch,136px);pointer-events:none;animation:dmfloat 2.8s ease-in-out infinite}
@keyframes dmfloat{50%{translate:0 -4px}}
.dm-deck i{position:absolute;inset:0;clip-path:var(--clip8);background:#2a1450;
  box-shadow:inset 0 0 0 3px #f0b13c,inset 0 0 0 6px #2a1450,inset 0 0 0 7px #a8721a}
.dm-deck i:last-child{display:flex;align-items:center;justify-content:center;
  background:repeating-linear-gradient(45deg,rgba(255,210,63,.13) 0 2px,transparent 2px 7px),#3a1d6e;
  box-shadow:inset 0 0 0 3px #f0b13c,inset 0 0 0 6px #2a1450,inset 0 0 0 7px #a8721a,0 0 18px rgba(63,224,255,.35)}
.dm-card{position:absolute;left:0;top:0;width:var(--cw,92px);height:var(--ch,136px);transform-style:preserve-3d;cursor:pointer}
.dm-card .fc,.dm-card .bk{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;clip-path:var(--clip8)}
/* рубашка — только пока карта лежит лицом вниз (класс), без расчёта на backface: WebKit с clip-path её не прячет */
.dm-card.down .bk{display:flex}
.dm-card.down .fc{visibility:hidden}
.dm-card .bk{transform:rotateY(180deg);background:#2a1450;display:none;align-items:center;justify-content:center;
  box-shadow:inset 0 0 0 3px #f0b13c,inset 0 0 0 6px #2a1450,inset 0 0 0 7px #a8721a}
.dm-card .bk::before{content:"";position:absolute;inset:10px;background:
  repeating-linear-gradient(45deg,rgba(255,210,63,.13) 0 2px,transparent 2px 7px),
  repeating-linear-gradient(-45deg,rgba(63,224,255,.10) 0 2px,transparent 2px 7px),#3a1d6e;clip-path:var(--clip4)}
.dm-card .bk img{position:relative}
.dm-card .bk::after{content:"";position:absolute;left:50%;top:50%;width:46%;aspect-ratio:1;transform:translate(-50%,-58%) rotate(45deg);
  box-shadow:inset 0 0 0 2px #f0b13c,inset 0 0 0 4px rgba(11,7,22,.6),inset 0 0 0 5px rgba(240,177,60,.5);pointer-events:none}
.dm-card .bk em{position:absolute;width:4px;height:4px;background:#ffd23f}
.dm-card .bk em:nth-of-type(1){left:13px;top:13px}.dm-card .bk em:nth-of-type(2){right:13px;top:13px}
.dm-card .bk em:nth-of-type(3){left:13px;bottom:28px}.dm-card .bk em:nth-of-type(4){right:13px;bottom:28px}
.dm-card .bk b{position:absolute;bottom:12px;font-family:T5;font-weight:400;font-size:10px;letter-spacing:2px;color:#ffd23f}
.dm-card .fc{background:linear-gradient(#1a0b36,#3a1660 60%,#5b2a8c);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:9px 6px 8px;
  box-shadow:inset 0 0 0 3px #ffd23f,inset 0 0 0 5px #1a0b36,inset 0 0 0 6px #f0b13c}
.dm-card .fc .num{font-family:P2;font-size:10px;color:#ffd23f}
.dm-card .fc img{filter:drop-shadow(0 0 6px rgba(255,210,63,.6))}
.dm-card .fc .nm{font-family:P2;font-size:min(9px,calc(var(--cw,92px) / 9.6));color:#fff3d6;background:#0b0716;padding:4px 5px 3px;letter-spacing:.5px;white-space:nowrap}
.dm-card .sw{position:absolute;inset:0;transform-style:preserve-3d}
.dm-card.sway .sw{animation:dmsway var(--sd,3s) ease-in-out var(--dl,0s) infinite}
@keyframes dmsway{0%,100%{rotate:var(--r0,-3deg);translate:0 0}50%{rotate:var(--r1,3deg);translate:0 -5px}}
.dm-card.pick .bk{filter:brightness(1.3)}
.dm-glowc{filter:drop-shadow(0 0 10px rgba(255,210,63,.85)) drop-shadow(0 0 22px rgba(208,48,122,.7))}

.dm-candle{position:absolute;width:33px;height:57px;transform-origin:50% 100%;pointer-events:none}
.dm-candle img{position:absolute;left:0;bottom:0}
.dm-candle .fl{left:9px;bottom:36px;top:auto}
.dm-candle .glow{position:absolute;left:6px;top:-6px;width:21px;height:21px;border-radius:50%;background:rgba(255,190,80,.28);
  box-shadow:0 0 14px 8px rgba(255,170,40,.45),0 0 40px 18px rgba(255,120,40,.18);animation:dmflick .3s steps(2) infinite alternate}
@keyframes dmflick{to{opacity:.7}}
.dm-die{position:absolute;width:40px;height:auto;rotate:18deg;pointer-events:none;filter:drop-shadow(2px 3px 0 rgba(0,0,0,.5))}

/* билет */
.dm-ticket{position:absolute;left:50%;z-index:12;width:232px;margin-left:-116px;overflow:hidden;height:0;cursor:pointer;transform-origin:50% 0}
.dm-ticket.hang{animation:dmhang 2.4s ease-in-out infinite}
@keyframes dmhang{0%,100%{rotate:-1.5deg}50%{rotate:1.5deg}}
.dm-tk{position:absolute;left:0;right:0;bottom:6px;padding:12px 12px 14px;background:#fff3d6;color:#2a1a10;text-align:center;
  box-shadow:inset 0 0 0 2px #e8d6a8}
.dm-tk::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:6px;
  background:linear-gradient(135deg,#fff3d6 0 50%,transparent 50%) 0 0/8px 6px repeat-x,linear-gradient(-135deg,#fff3d6 0 50%,transparent 50%) 0 0/8px 6px repeat-x}
.dm-tk h4{font-family:P2;font-weight:400;font-size:11px;letter-spacing:1px;color:#86211b;margin-top:4px}
.dm-tk > img{margin:0 auto}
.dm-tk .no{font-family:T5;font-size:11px;letter-spacing:2px;color:#7a5a3a;margin-top:5px}
.dm-tk .pr{font-family:T5;font-size:14px;line-height:1.35;margin-top:10px;color:#1a0f08}
.dm-tk .ln{height:2px;margin:10px 0 8px;background:repeating-linear-gradient(90deg,#b49a70 0 4px,transparent 4px 8px)}
.dm-tk .gift{font-family:P2;font-size:10px;line-height:1.5;color:#2a1a10}
.dm-tk .rar{display:inline-block;margin-top:6px;font-family:T5;font-size:10px;letter-spacing:1px;color:#fff;padding:3px 8px 2px}
.dm-tk .rar.q{font-family:P2;font-size:14px;color:#ffd23f;background:#3a1d6e;padding:6px 10px 4px;box-shadow:0 0 0 2px #f0b13c;animation:dmq 1.2s steps(2) infinite}
@keyframes dmq{50%{color:#fff3d6}}
.dm-tk .tear{margin-top:12px;padding-top:10px;font-family:P2;font-size:12px;color:#86211b;border-top:2px dashed #b49a70;display:flex;align-items:center;justify-content:center;gap:8px;animation:dmblink .9s steps(1) infinite}
.dm-tk .tear .ar{width:18px;height:18px;animation:dmar .6s steps(2) infinite}
@keyframes dmar{50%{translate:0 3px}}
.dm-ovl{position:absolute;inset:0;pointer-events:none;z-index:11}

@media (max-height:700px){
  .dm-sign{padding:8px 10px 7px}
  .dm-sign small{display:none}
  .dm-desk{height:86px}
  .dm-ballwrap{transform:scale(.86)}
  .dm-say{min-height:52px;padding:7px 8px 6px;font-size:11px}
}

/* мигание подсказок — до 60%, не до нуля (читаемость в тёмном баре) */
.scr-dimaster .blink{animation:dmblink 1.1s steps(1) infinite}
@keyframes dmblink{50%{opacity:.6}}
