@font-face{font-family:"Cinzel Decorative";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/cinzel-decorative-700.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-500-italic.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root{
  --night:#0a0610;
  --wood:#3d2518;
  --wood-mid:#5c3824;
  --wood-hi:#7a4f32;
  --wood-varnish:#6b4423;
  --gold:#c9a227;
  --gold-hi:#f2d48a;
  --gold-dk:#8a6a2a;
  --ivory:#f3e6c8;
  --sign-red:#c41e3a;
  --sign-red-hi:#e63950;
  --drape-blue:#1a3a6e;
  --drape-silver:#8eb4d9;
  --halo-pink:rgba(255,120,180,.45);
  --bulb:#ffd98a;
  --glass-tint:rgba(180,210,255,.08);
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{
  min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;
  padding:max(.75rem,env(safe-area-inset-top)) max(.65rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.65rem,env(safe-area-inset-left));
  background:radial-gradient(ellipse at 50% 20%,#2a1838 0%,var(--night) 65%);
  color:var(--ivory);font:400 1rem/1.5 Inter,system-ui,sans-serif
}

.stage{width:100%;max-width:520px;display:flex;flex-direction:column;align-items:center;gap:.65rem}

/* —— Cabinet bois verni —— */
.machine{width:100%;filter:drop-shadow(0 28px 48px rgba(0,0,0,.65))}
.cabinet{
  display:flex;flex-direction:column;align-items:stretch;
  background:linear-gradient(90deg,#2a1810 0%,var(--wood-varnish) 8%,var(--wood-hi) 22%,var(--wood-mid) 50%,var(--wood-hi) 78%,var(--wood-varnish) 92%,#2a1810 100%);
  border-radius:10px 10px 6px 6px;
  box-shadow:inset 0 0 0 2px var(--gold-dk),inset 0 0 0 4px var(--wood),inset 0 0 0 5px var(--gold),inset 0 0 0 7px var(--wood-mid)
}
.cabinet__fillet{height:6px;background:linear-gradient(90deg,transparent,var(--gold-hi),var(--gold),var(--gold-hi),transparent);opacity:.85}
.cabinet__fillet--top{border-radius:10px 10px 0 0;margin-top:0}
.cabinet__fillet--bottom{margin-top:2px}

.cornice{position:relative;height:28px;margin:0 6%;background:linear-gradient(var(--gold-hi),var(--gold-dk));clip-path:polygon(0 100%,4% 35%,12% 65%,20% 25%,28% 70%,36% 20%,44% 75%,50% 0,56% 75%,64% 20%,72% 70%,80% 25%,88% 65%,96% 35%,100% 100%)}
.cornice__scroll{position:absolute;inset:4px 8px 0;background:linear-gradient(var(--wood-hi),var(--wood));clip-path:inherit;opacity:.35}
.cornice__dentil{position:absolute;left:10%;right:10%;bottom:0;height:4px;background:repeating-linear-gradient(90deg,var(--gold) 0 6px,transparent 6px 10px)}

/* —— Enseigne ZOLTAR —— */
.sign{
  margin:0 4%;padding:.55rem .5rem .7rem;text-align:center;
  background:linear-gradient(180deg,var(--wood-hi),var(--wood) 40%,#2a1810);
  border-radius:8px 8px 4px 4px;
  box-shadow:inset 0 0 0 2px var(--wood),inset 0 0 0 3px var(--gold),0 4px 12px rgba(0,0,0,.35)
}
.sign__chase{display:flex;justify-content:space-between;gap:3px;padding:0 2% 6px}
.sign__chase i{
  flex:1;max-width:14px;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 38% 32%,#fff8dc,var(--bulb) 50%,#b87318);
  box-shadow:0 0 6px 1px rgba(255,200,100,.5);
  animation:bulb-idle 2.4s ease-in-out infinite
}
.sign__chase i:nth-child(1){animation-delay:0s}
.sign__chase i:nth-child(2){animation-delay:.2s}
.sign__chase i:nth-child(3){animation-delay:.4s}
.sign__chase i:nth-child(4){animation-delay:.6s}
.sign__chase i:nth-child(5){animation-delay:.8s}
.sign__chase i:nth-child(6){animation-delay:1s}
.sign__chase i:nth-child(7){animation-delay:1.2s}
.sign__chase i:nth-child(8){animation-delay:1.4s}
.sign__chase i:nth-child(9){animation-delay:1.6s}
.sign__chase i:nth-child(10){animation-delay:1.8s}
.sign__chase i:nth-child(11){animation-delay:2s}
.sign__chase i:nth-child(12){animation-delay:2.2s}

.machine.is-consulting .sign__chase i{animation:bulb-chase .55s ease-in-out infinite}

.sign__title{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(4px,1.2vw,8px);margin:0}
.sign__letter{
  display:grid;place-items:center;
  width:clamp(2rem,11vw,2.55rem);height:clamp(2rem,11vw,2.55rem);
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%,var(--gold-hi),var(--gold) 55%,var(--gold-dk));
  box-shadow:0 2px 0 #5a4010,inset 0 0 0 2px var(--gold-hi)
}
.sign__letter>span{
  font:700 clamp(1.15rem,5.5vw,1.45rem)/1 "Cinzel Decorative",serif;
  color:var(--sign-red);text-shadow:0 1px 0 #5a0818,0 0 8px rgba(198,30,58,.35)
}
.sign__subtitle{margin:.35rem 0 0;font:700 clamp(.72rem,3.2vw,.85rem)/1.2 "Cinzel Decorative",serif;letter-spacing:.14em;color:var(--gold-hi);text-transform:uppercase}

/* —— Vitrine —— */
.cabinet__frame{display:flex;width:100%;padding:0 3px;background:linear-gradient(var(--wood),#2a1810);border-left:3px solid var(--gold);border-right:3px solid var(--gold)}
.pilaster{width:clamp(18px,5.5vw,26px);flex-shrink:0;background:linear-gradient(90deg,#2a1810,var(--wood-mid),var(--wood-hi),var(--wood-mid),#2a1810);box-shadow:inset 0 0 0 1px var(--gold-dk)}
.pilaster .bulbs{height:100%;min-height:100%}

.bulbs{display:flex;justify-content:space-between;align-items:center}
.bulbs--col{flex-direction:column;justify-content:space-evenly;padding:.35rem 0;height:100%}
.bulbs i{
  display:block;width:clamp(8px,2.8vw,12px);height:clamp(8px,2.8vw,12px);border-radius:50%;
  background:radial-gradient(circle at 40% 35%,#fff6d8,var(--bulb) 45%,#c27a1a);
  box-shadow:0 0 8px 2px rgba(255,200,100,.55);
  animation:twinkle 1.8s steps(1) infinite
}
.bulbs i:nth-child(even){animation-delay:.9s}

.vitrine{
  position:relative;flex:1;min-width:0;
  aspect-ratio:4/5;max-height:min(62vh,420px);
  margin:.4rem 0;
  border:3px solid var(--gold);border-radius:4px;
  overflow:hidden;
  background:#120a18;
  box-shadow:inset 0 0 24px rgba(0,0,0,.5),inset 0 0 0 1px var(--gold-dk)
}

.drape{position:absolute;inset:0;z-index:0;background:linear-gradient(175deg,#0f2848 0%,var(--drape-blue) 35%,#3d6a9e 55%,#1e3250 100%)}
.drape__fold{position:absolute;top:0;bottom:0;width:22%;opacity:.55}
.drape__fold--l{left:0;background:linear-gradient(90deg,#0a1628,transparent 80%);transform-origin:top left;animation:drape-sway 7s ease-in-out infinite alternate}
.drape__fold--r{right:0;background:linear-gradient(-90deg,#0a1628,transparent 80%);transform-origin:top right;animation:drape-sway 7s ease-in-out infinite alternate-reverse}
.drape__stars{
  position:absolute;inset:0;opacity:.9;
  background-image:
    radial-gradient(1.5px 1.5px at 12% 18%,#fff,transparent),
    radial-gradient(1px 1px at 28% 42%,rgba(255,255,255,.85),transparent),
    radial-gradient(1.5px 1.5px at 45% 12%,var(--drape-silver),transparent),
    radial-gradient(1px 1px at 62% 35%,#fff,transparent),
    radial-gradient(1.2px 1.2px at 78% 22%,rgba(200,220,255,.9),transparent),
    radial-gradient(1px 1px at 88% 48%,#fff,transparent),
    radial-gradient(1.5px 1.5px at 22% 68%,rgba(255,255,255,.7),transparent),
    radial-gradient(1px 1px at 55% 72%,var(--drape-silver),transparent),
    radial-gradient(1.2px 1.2px at 72% 82%,#fff,transparent),
    radial-gradient(1px 1px at 38% 88%,rgba(255,255,255,.6),transparent);
  animation:stars-shimmer 4s ease-in-out infinite
}

.figure{position:absolute;left:50%;bottom:8%;width:88%;max-width:280px;height:auto;transform:translateX(-50%);z-index:2;pointer-events:none}
.z-torso{animation:torso-breathe 4.2s ease-in-out infinite;transform-origin:120px 260px}
.z-head{animation:head-sway 5.5s ease-in-out infinite;transform-origin:120px 175px}
.z-lid{animation:blink 5s infinite;transform-origin:center}
.z-lid--l{transform-origin:102px 160px}
.z-lid--r{transform-origin:138px 160px}
.z-eye{animation:eye-glow 3.2s ease-in-out infinite}
.z-jewel{animation:jewel-pulse 2.8s ease-in-out infinite}
.z-hands{animation:hands-idle 4s ease-in-out infinite;transform-origin:120px 230px}

.machine.is-consulting .z-head{animation:head-turn 2.4s ease-in-out}
.machine.is-consulting .z-hands{animation:hands-conjure 2.6s ease-in-out}
.machine.is-consulting .z-eye{animation:eye-flare 2.4s ease-in-out;fill:#b8f4ff}
.machine.is-consulting .z-jewel{animation:jewel-flare 2.4s ease-in-out}

.crystal-stack{
  position:absolute;left:50%;bottom:4%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;z-index:3;pointer-events:none
}
.crystal{
  position:relative;width:clamp(64px,20vw,96px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 38% 28%,#fff0f8 0%,#ff8ec8 28%,#e04598 55%,#6b1d4e 88%);
  box-shadow:0 0 28px 8px var(--halo-pink),inset -8px -12px 20px rgba(80,0,40,.35);
  animation:crystal-pulse 3s ease-in-out infinite
}
.crystal.is-active{animation:crystal-conjure 2.6s ease-in-out}
.mist,.spark{position:absolute;border-radius:50%;pointer-events:none}
.mist{filter:blur(3px);opacity:.55;background:radial-gradient(circle,rgba(255,200,240,.9),transparent 70%)}
.mist--a{width:45%;height:45%;left:25%;top:30%;animation:mist-spin 6s linear infinite}
.mist--b{width:35%;height:35%;left:40%;top:45%;animation:mist-spin 4.5s linear infinite reverse}
.mist--c{width:30%;height:30%;left:20%;top:50%;animation:mist-spin 5.5s linear infinite}
.crystal.is-active .mist{opacity:.85;animation-duration:1.2s}
.spark{width:4px;height:4px;background:#fff;border-radius:50%;opacity:0;animation:sparkle 2.5s ease-in-out infinite}
.spark--a{left:30%;top:25%;animation-delay:.3s}
.spark--b{right:28%;top:40%;animation-delay:1.1s}

.crystal-base{
  width:clamp(58px,18vw,86px);height:clamp(14px,4vw,20px);margin-top:-6px;
  background:linear-gradient(var(--gold-hi),var(--gold-dk));
  clip-path:polygon(15% 0,85% 0,100% 100%,0 100%);
  box-shadow:0 3px 6px rgba(0,0,0,.4)
}

.vitrine__glass{
  position:absolute;inset:0;z-index:4;pointer-events:none;
  background:
    linear-gradient(125deg,rgba(255,255,255,.16) 0 8%,transparent 8% 22%,rgba(255,255,255,.06) 22% 26%,transparent 26% 40%,rgba(255,255,255,.1) 40% 43%,transparent 43%),
    linear-gradient(205deg,transparent 55%,rgba(255,255,255,.05) 55% 58%,transparent 58%);
  mix-blend-mode:screen
}
.vitrine__glare{
  position:absolute;inset:0;z-index:5;pointer-events:none;
  background:linear-gradient(108deg,transparent 42%,rgba(255,255,255,.12) 48%,transparent 54%);
  animation:glare-shift 8s ease-in-out infinite
}

/* —— Partie basse —— */
.deck{
  padding:.65rem .85rem .85rem;
  background:linear-gradient(var(--wood-mid),var(--wood) 30%,#1d120c);
  border:3px solid var(--gold);border-top:0;
  box-shadow:inset 0 0 0 2px var(--wood),inset 0 0 0 3px var(--gold-dk)
}
.deck__controls{display:flex;justify-content:center;align-items:center;gap:clamp(.65rem,4vw,1.25rem);margin-bottom:.5rem}
.coin-slot{
  width:clamp(52px,18vw,72px);height:clamp(28px,8vw,34px);
  background:linear-gradient(#1a1008,#0a0604);border-radius:4px;
  box-shadow:inset 0 2px 4px rgba(0,0,0,.8),0 0 0 2px var(--gold-dk),0 0 0 3px var(--gold);
  display:grid;place-items:center
}
.coin-slot__label{font:700 .65rem/1 "Cinzel Decorative",serif;color:var(--gold-hi);opacity:.75}
.speaker{
  width:clamp(36px,11vw,44px);height:clamp(36px,11vw,44px);border-radius:50%;
  background:radial-gradient(circle at 35% 32%,#4a3020,var(--wood) 60%,#1a1008);
  box-shadow:inset 0 0 0 3px var(--gold-dk),0 0 0 4px var(--gold),inset 0 0 12px rgba(0,0,0,.6);
  display:grid;place-items:center
}
.speaker__cone{width:55%;height:55%;border-radius:50%;background:repeating-radial-gradient(circle,#2a1810 0 2px,#1a1008 2px 4px)}
.deck-knob{
  width:clamp(32px,10vw,40px);height:clamp(32px,10vw,40px);border-radius:50%;
  background:radial-gradient(circle at 40% 35%,var(--gold-hi),var(--gold-dk));
  box-shadow:0 2px 0 #5a4010,inset 0 0 0 2px var(--gold-hi)
}
.deck-knob__cap{width:40%;height:40%;border-radius:50%;background:var(--sign-red);box-shadow:inset 0 1px 2px rgba(255,255,255,.3)}

.ticket-slot{width:42%;height:8px;margin:0 auto .45rem;background:#050403;border-radius:4px;box-shadow:0 0 0 2px var(--gold-dk),inset 0 1px 2px rgba(0,0,0,.9);position:relative}
.ticket-slot__lip{position:absolute;left:15%;right:15%;top:-2px;height:3px;background:linear-gradient(var(--gold-hi),var(--gold-dk));border-radius:2px}

.card-zone{width:100%;min-height:7.5rem;overflow:hidden;margin-bottom:.65rem;position:relative;z-index:1}
.card{
  position:relative;background:var(--ivory);color:var(--wood);
  border:2px dashed var(--gold);border-top:0;padding:.85rem .75rem .75rem;text-align:center;
  transform:translateY(-108%) scaleY(.35);transform-origin:top center;
  box-shadow:inset 0 0 0 3px var(--ivory),inset 0 0 0 4px #b8955a,0 8px 20px rgba(0,0,0,.25)
}
.card.is-out{animation:dispense 1s cubic-bezier(.22,.85,.32,1) forwards}
.card.is-retracting{animation:retract .35s ease-in forwards}
.card.is-unfold .card-inner{animation:unfold .45s ease-out .55s forwards}
.card p{margin:0;font:italic 500 clamp(1.1rem,4.2vw,1.45rem)/1.35 "Cormorant Garamond",serif}
.card .note{margin-top:.55rem;font:600 clamp(.72rem,3vw,.8rem)/1.3 Inter,system-ui,sans-serif;letter-spacing:.03em;color:var(--sign-red)}

.consult{
  display:block;width:100%;max-width:100%;min-height:48px;padding:.75rem 1rem;border:0;border-radius:999px;
  background:linear-gradient(var(--gold-hi),var(--gold));color:var(--wood);
  font:700 clamp(.95rem,4vw,1.05rem)/1 "Cinzel Decorative",serif;cursor:pointer;
  box-shadow:0 4px 0 var(--gold-dk),0 8px 16px rgba(0,0,0,.25);position:relative;z-index:2
}
.consult:hover{filter:brightness(1.07)}
.consult[aria-disabled="true"]{opacity:.72;cursor:wait}
.consult:focus-visible{outline:3px solid var(--gold-hi);outline-offset:4px}

.lower-door{margin-top:.55rem;height:clamp(36px,10vw,48px);position:relative;border-radius:3px;overflow:hidden;box-shadow:inset 0 0 0 2px var(--gold-dk)}
.lower-door__panel{position:absolute;inset:0;background:linear-gradient(var(--wood-hi),var(--wood));box-shadow:inset 0 0 0 1px var(--gold)}
.lower-door__grille{
  position:absolute;inset:6px 8px;
  background:repeating-linear-gradient(90deg,transparent 0 6px,rgba(201,162,39,.35) 6px 7px),
              repeating-linear-gradient(0deg,transparent 0 8px,rgba(201,162,39,.25) 8px 9px);
  border:1px solid var(--gold-dk);border-radius:2px
}

.plinth{height:clamp(16px,4vw,22px);margin:0 2px 2px;background:linear-gradient(var(--wood-hi),#120a06);border-radius:0 0 6px 6px;border-top:2px solid var(--gold)}

.anim-pause{
  min-height:44px;padding:.5rem 1rem;border:1px solid var(--gold-dk);border-radius:999px;
  background:rgba(20,12,24,.75);color:var(--ivory);font:600 .85rem/1 Inter,system-ui,sans-serif;cursor:pointer
}
.anim-pause:hover{background:rgba(40,24,48,.85)}
.anim-pause:focus-visible{outline:3px solid var(--gold-hi);outline-offset:3px}
.anim-pause[aria-pressed="true"]{border-color:var(--gold-hi);color:var(--gold-hi)}

.foot{max-width:520px;font-size:clamp(.72rem,3vw,.8rem);color:#cfc3a8;text-align:center;padding:0 .5rem}

/* —— Keyframes —— */
@keyframes torso-breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.015)}}
@keyframes head-sway{0%,100%{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}
@keyframes head-turn{0%{transform:rotate(-1deg)}25%{transform:rotate(4deg) translateX(2px)}55%{transform:rotate(-2deg)}100%{transform:rotate(-1deg)}}
@keyframes blink{0%,92%,100%{transform:scaleY(1)}94%,96%{transform:scaleY(.08)}}
@keyframes eye-glow{0%,100%{opacity:.75}50%{opacity:1}}
@keyframes eye-flare{0%,100%{opacity:.8}30%,70%{opacity:1;filter:drop-shadow(0 0 6px #7fe3ff)}}
@keyframes jewel-pulse{0%,100%{opacity:1}50%{opacity:.85}}
@keyframes jewel-flare{0%,100%{transform:scale(1)}40%,60%{transform:scale(1.08)}}
@keyframes hands-idle{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes hands-conjure{0%{transform:translateY(0)}30%{transform:translateY(-8px) scale(1.02)}60%{transform:translateY(-4px)}100%{transform:translateY(0)}}
@keyframes crystal-pulse{0%,100%{box-shadow:0 0 22px 6px var(--halo-pink);transform:scale(1)}50%{box-shadow:0 0 38px 14px rgba(255,140,200,.55);transform:scale(1.03)}}
@keyframes crystal-conjure{
  0%{filter:brightness(1) hue-rotate(0);transform:scale(1)}
  35%{filter:brightness(1.35) hue-rotate(-8deg);transform:scale(1.06);box-shadow:0 0 50px 20px rgba(255,100,200,.65)}
  70%{filter:brightness(1.2);transform:scale(1.04)}
  100%{filter:brightness(1);transform:scale(1)}
}
@keyframes mist-spin{from{transform:rotate(0) translateX(8%)}to{transform:rotate(360deg) translateX(8%)}}
@keyframes sparkle{0%,100%{opacity:0;transform:scale(.5)}45%,55%{opacity:1;transform:scale(1.2)}}
@keyframes twinkle{0%{opacity:1}50%{opacity:.4}}
@keyframes bulb-idle{0%,100%{opacity:.85;filter:brightness(1)}50%{opacity:1;filter:brightness(1.15)}}
@keyframes bulb-chase{0%,100%{opacity:.35;transform:scale(.92)}50%{opacity:1;transform:scale(1.05);box-shadow:0 0 12px 3px rgba(255,220,140,.8)}}
@keyframes drape-sway{from{transform:skewX(-1.5deg)}to{transform:skewX(1.5deg)}}
@keyframes stars-shimmer{0%,100%{opacity:.85}50%{opacity:1}}
@keyframes glare-shift{0%,100%{opacity:.7;transform:translateX(0)}50%{opacity:1;transform:translateX(2%)}}
@keyframes dispense{
  0%{transform:translateY(-108%) scaleY(.35)}
  45%{transform:translateY(-20%) scaleY(.55)}
  72%{transform:translateY(4%) scaleY(.92)}
  100%{transform:translateY(0) scaleY(1)}
}
@keyframes retract{from{transform:translateY(0) scaleY(1)}to{transform:translateY(-108%) scaleY(.35)}}
@keyframes unfold{from{letter-spacing:-.02em;opacity:.92}to{letter-spacing:normal;opacity:1}}

html.animations-paused .machine .sign__chase i,
html.animations-paused .machine .bulbs i,
html.animations-paused .machine .z-torso,
html.animations-paused .machine .z-head,
html.animations-paused .machine .z-lid,
html.animations-paused .machine .z-eye,
html.animations-paused .machine .z-jewel,
html.animations-paused .machine .z-hands,
html.animations-paused .machine .crystal:not(.is-active),
html.animations-paused .machine .mist,
html.animations-paused .machine .spark,
html.animations-paused .machine .drape__fold,
html.animations-paused .machine .drape__stars,
html.animations-paused .machine .vitrine__glare{
  animation-play-state:paused!important
}

@media (min-width:900px){
  .stage{max-width:480px}
  .vitrine{max-height:440px}
}

@media (max-width:360px){
  .sign__letter{width:1.85rem;height:1.85rem}
  .sign__letter>span{font-size:1.05rem}
  .deck__controls{gap:.5rem}
  .card-zone{min-height:6.75rem}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .card{transform:none;opacity:0}
  .card.is-out{opacity:1;transform:none;animation:none}
  .card.is-retracting{opacity:0;animation:none}
  .machine.is-consulting .z-head,
  .machine.is-consulting .z-hands,
  .machine.is-consulting .z-eye,
  .crystal.is-active{animation:none!important}
}
