:root {
  --bg: #07060c;
  --void: #03010a;
  --gold: #ffd24a;
  --gold-2: #ffe9a0;
  --virus: #ffcc00;
  --flesh: #e8a07a;
  --blood: #c4233a;
  --violet: #6b4dff;
  --magenta: #ff3d8a;
  --ink: #f6f1e8;
  --dim: #9a9388;
  --hud: rgba(8, 6, 14, .55);
  --safe-b: env(safe-area-inset-bottom, 0px);
  --safe-t: env(safe-area-inset-top, 0px);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
  height: 100%;
  background: var(--void);
  color: var(--ink);
  font-family: Outfit, system-ui, sans-serif;
  overflow: hidden;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  cursor: crosshair;
}
button { font-family: inherit; cursor: pointer; }

#fx-root, #shakeLayer {
  position: fixed; inset: 0;
}
#cosmos {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  display: block;
}

/* ---------- FX layers ---------- */
.fx-vignette {
  position: fixed; inset: 0; pointer-events: none; z-index: 8;
  background:
    radial-gradient(ellipse at 50% 115%, rgba(255, 180, 60, .16), transparent 42%),
    radial-gradient(ellipse at 50% 0%, rgba(80, 40, 160, .2), transparent 50%),
    radial-gradient(ellipse at center, transparent 45%, rgba(0,0,0,.72) 100%);
}
.fx-grain {
  position: fixed; inset: -20%; pointer-events: none; z-index: 9;
  opacity: .12;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.55'/></svg>");
  animation: grain 0.35s steps(3) infinite;
  mix-blend-mode: overlay;
}
@keyframes grain {
  0% { transform: translate(0,0); }
  25% { transform: translate(-1%, 1%); }
  50% { transform: translate(1%, -2%); }
  75% { transform: translate(-2%, 0); }
  100% { transform: translate(0, 1%); }
}
.fx-scan {
  position: fixed; inset: 0; pointer-events: none; z-index: 10;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0 3px,
    rgba(0,0,0,.08) 3px 4px
  );
  opacity: .35;
  mix-blend-mode: multiply;
}
.fx-aberration {
  position: fixed; inset: 0; pointer-events: none; z-index: 11;
  box-shadow:
    inset 8px 0 24px -12px rgba(0, 180, 255, .0),
    inset -8px 0 24px -12px rgba(255, 40, 80, .0);
  transition: box-shadow .15s ease;
}
.fx-aberration.on {
  box-shadow:
    inset 18px 0 40px -8px rgba(0, 200, 255, .45),
    inset -18px 0 40px -8px rgba(255, 30, 90, .5);
}
.fx-flash {
  position: fixed; inset: 0; pointer-events: none; z-index: 20;
  background: #fff;
  opacity: 0;
  mix-blend-mode: overlay;
}
.fx-cracks {
  position: fixed; inset: 0; pointer-events: none; z-index: 12;
  opacity: 0;
  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1200' height='800'><g fill='none' stroke='%23fff6d2' stroke-width='1.4' opacity='.7'><path d='M600 0 L620 140 L540 260 L710 400 L590 800'/><path d='M620 140 L780 180 L900 90'/><path d='M540 260 L400 220 L200 340 L0 300'/><path d='M710 400 L860 520 L1200 480'/><path d='M590 520 L500 700 L380 800'/></g></svg>") center/cover no-repeat;
  mix-blend-mode: screen;
  filter: drop-shadow(0 0 8px #ffd24a);
}
.fx-cracks.show { animation: crackIn .45s ease-out forwards; }
@keyframes crackIn {
  0% { opacity: 0; transform: scale(1.08); }
  30% { opacity: .9; }
  100% { opacity: .35; transform: scale(1); }
}
.fx-melt {
  position: fixed; inset: 0; pointer-events: none; z-index: 13;
  background: radial-gradient(ellipse at 50% 80%, rgba(255,90,40,.0), transparent 50%);
  mix-blend-mode: screen;
  opacity: 0;
}

body.shake #shakeLayer {
  animation: shake .38s cubic-bezier(.36,.07,.19,.97) both;
}
body.shake-hard #shakeLayer {
  animation: shakeHard .55s cubic-bezier(.36,.07,.19,.97) both;
}
@keyframes shake {
  10%, 90% { transform: translate3d(-2px, 1px, 0); }
  20%, 80% { transform: translate3d(4px, -3px, 0); }
  30%, 50%, 70% { transform: translate3d(-6px, 3px, 0); }
  40%, 60% { transform: translate3d(6px, -2px, 0); }
}
@keyframes shakeHard {
  10% { transform: translate3d(-12px, 8px, 0) rotate(-.6deg); }
  20% { transform: translate3d(14px, -10px, 0) rotate(.8deg); }
  30% { transform: translate3d(-16px, 6px, 0) rotate(-1deg); }
  40% { transform: translate3d(10px, 12px, 0) rotate(.5deg); }
  50% { transform: translate3d(-8px, -8px, 0); }
  70% { transform: translate3d(6px, 4px, 0); }
  100% { transform: none; }
}
body.invert { filter: invert(1) hue-rotate(180deg) saturate(1.4); }
body.slowmo { filter: saturate(1.35) contrast(1.1); }
body.slowmo #cosmos { animation: slowPulse 1.6s ease-in-out infinite; }
@keyframes slowPulse { 50% { filter: brightness(1.15); } }

/* ---------- FINGER ---------- */
#fingerStage {
  position: absolute;
  left: 50%;
  bottom: calc(108px + var(--safe-b));
  transform: translateX(-50%);
  width: min(340px, 72vw);
  height: min(62vh, 640px);
  z-index: 5;
  pointer-events: none;
  transform-origin: 50% 100%;
}
.finger-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  transform-origin: 50% 88%;
  filter: drop-shadow(0 18px 36px rgba(0,0,0,.7));
  animation: idleBob 3.4s ease-in-out infinite;
}
.finger-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  -webkit-user-drag: none;
  pointer-events: none;
  filter: drop-shadow(0 0 18px rgba(255,180,60,.18)) saturate(1.08) contrast(1.06);
}
@keyframes idleBob {
  0%,100% { transform: translateY(0) rotate(-1.2deg); }
  50% { transform: translateY(-10px) rotate(1.4deg); }
}
#fingerSvg { display: none; }
.finger-aura {
  position: absolute;
  left: 50%; bottom: 8%;
  width: 140%; height: 70%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 80%, rgba(255,210,74,.45), rgba(255,60,120,.08) 45%, transparent 70%);
  filter: blur(18px);
  opacity: .55;
  animation: aura 2.2s ease-in-out infinite;
}
@keyframes aura {
  0%,100% { transform: translateX(-50%) scale(1); opacity: .4; }
  50% { transform: translateX(-50%) scale(1.12); opacity: .75; }
}
.finger-fire {
  position: absolute; inset: 8% 18% 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(255,220,120,.0), transparent 60%);
  mix-blend-mode: screen;
  pointer-events: none;
}
.finger-wrap.punch {
  animation: punch .22s cubic-bezier(.13,1.4,.4,1);
}
@keyframes punch {
  0% { transform: translateY(18px) scaleY(.92) scaleX(1.06); }
  55% { transform: translateY(-28px) scaleY(1.12) scaleX(.96); }
  100% { transform: translateY(0) scale(1); }
}
.finger-wrap.mega {
  animation: megaPunch .6s cubic-bezier(.13,1.6,.3,1);
}
@keyframes megaPunch {
  0% { transform: translateY(40px) scale(.8); filter: brightness(.7); }
  40% { transform: translateY(-80px) scale(1.28); filter: brightness(1.8) saturate(1.4); }
  100% { transform: translateY(0) scale(1.06); }
}
.flip-shock {
  position: absolute;
  left: 50%; bottom: 42%;
  width: 40px; height: 40px;
  border: 2px solid rgba(255,210,74,.85);
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(.2);
  opacity: 0;
  pointer-events: none;
}
.flip-shock.go {
  animation: shock .55s ease-out;
}
@keyframes shock {
  0% { opacity: 1; transform: translate(-50%,-50%) scale(.2); }
  100% { opacity: 0; transform: translate(-50%,-50%) scale(18); }
}

/* ---------- HUD ---------- */
.hud {
  position: fixed; top: 0; left: 0; right: 0;
  z-index: 30;
  padding: calc(12px + var(--safe-t)) 18px 8px;
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
  background: linear-gradient(to bottom, rgba(3,1,10,.78), transparent);
  pointer-events: none;
}
.hud-brand { display: flex; flex-direction: column; min-width: 110px; }
.hud-kicker {
  font-size: 10px; letter-spacing: .28em; color: var(--gold);
  font-weight: 800;
}
.hud-title {
  font-family: Cinzel, serif;
  font-weight: 900;
  letter-spacing: .08em;
  font-size: 15px;
}
.hud-stats {
  display: flex; gap: 16px; flex: 1; justify-content: center;
}
.stat { text-align: center; }
.stat em {
  display: block;
  font-style: normal;
  font-size: 9px;
  letter-spacing: .18em;
  color: var(--dim);
}
.stat strong {
  font-family: Bebas Neue, sans-serif;
  font-size: clamp(20px, 4vw, 32px);
  letter-spacing: .04em;
  color: var(--gold-2);
  text-shadow: 0 0 18px rgba(255,210,74,.35);
  line-height: 1;
}
.hud-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  pointer-events: auto;
}
.icon-btn, .text-btn {
  pointer-events: auto;
  height: 36px;
  border: 1px solid rgba(255,210,74,.35);
  background: rgba(255,255,255,.04);
  color: var(--gold);
  backdrop-filter: blur(8px);
}
.icon-btn {
  width: 36px;
  border-radius: 50%;
}
.text-btn {
  padding: 0 12px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: .16em;
  font-weight: 800;
}
.realm-banner {
  position: fixed;
  top: calc(68px + var(--safe-t));
  left: 50%;
  transform: translateX(-50%);
  z-index: 30;
  font-family: Cinzel, serif;
  font-size: 11px;
  letter-spacing: .22em;
  color: var(--gold);
  padding: 6px 14px;
  border: 1px solid rgba(255,210,74,.25);
  background: rgba(8,6,16,.55);
  backdrop-filter: blur(10px);
  white-space: nowrap;
  pointer-events: none;
  opacity: .9;
}
.realm-banner.flash {
  animation: realmFlash .7s ease;
}
@keyframes realmFlash {
  0% { transform: translateX(-50%) scale(.8); background: #ffd24a; color: #111; }
  100% { transform: translateX(-50%) scale(1); }
}

.float-layer, .target-layer {
  position: fixed; inset: 0;
  z-index: 6;
  pointer-events: none;
  overflow: hidden;
}
.floater {
  position: absolute;
  left: 50%;
  font-family: Bebas Neue, sans-serif;
  font-size: 28px;
  letter-spacing: .04em;
  color: var(--gold);
  text-shadow: 0 0 18px rgba(255,210,74,.6), 0 4px 0 #000;
  transform: translate(-50%, 0);
  animation: floatUp 1.05s ease-out forwards;
  white-space: nowrap;
}
.floater.big {
  font-size: clamp(28px, 7vw, 64px);
  color: #fff;
  animation-duration: 1.4s;
}
.floater.vulgar {
  color: #ff6b9d;
  font-family: Cinzel, serif;
  font-size: clamp(16px, 3.4vw, 28px);
  letter-spacing: .12em;
  max-width: 80vw;
  white-space: normal;
  text-align: center;
  line-height: 1.15;
}
@keyframes floatUp {
  0% { opacity: 0; transform: translate(-50%, 20px) scale(.8); }
  15% { opacity: 1; }
  100% { opacity: 0; transform: translate(-50%, -140px) scale(1.08); }
}

.target {
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  width: min(78vw, 360px);
  padding: 14px 16px 12px;
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(20,14,32,.92), rgba(10,8,18,.88));
  border: 1px solid rgba(255,210,74,.28);
  box-shadow:
    0 20px 50px rgba(0,0,0,.45),
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 0 40px rgba(255,80,140,.08);
  color: #fff;
  text-align: center;
  pointer-events: none;
  animation: targetIn .45s cubic-bezier(.2,1.4,.3,1);
}
.target .emoji { font-size: 34px; display: block; filter: drop-shadow(0 8px 10px rgba(0,0,0,.5)); }
.target .who {
  font-family: Cinzel, serif;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: .06em;
  margin-top: 4px;
}
.target .why {
  font-size: 12px;
  color: var(--dim);
  margin-top: 4px;
}
.target.hit {
  animation: targetHit .5s ease-out forwards;
}
@keyframes targetIn {
  from { opacity: 0; transform: translate(-50%, -30px) scale(.86); }
  to { opacity: 1; transform: translate(-50%, 0) scale(1); }
}
@keyframes targetHit {
  0% { filter: brightness(2); transform: translate(-50%, 0) scale(1.08) rotate(-2deg); }
  100% { opacity: 0; transform: translate(-50%, 80px) scale(.4) rotate(12deg); filter: blur(6px); }
}

.combo-fire {
  position: fixed;
  left: 0; right: 0; bottom: 28%;
  height: 40%;
  pointer-events: none;
  z-index: 4;
  opacity: 0;
  background: linear-gradient(to top, rgba(255,60,40,.25), rgba(255,180,40,.08), transparent);
  mix-blend-mode: screen;
  transition: opacity .25s;
}
.combo-fire.on { opacity: 1; animation: fireWave .8s ease-in-out infinite; }
@keyframes fireWave { 50% { filter: hue-rotate(20deg) brightness(1.3); } }

/* ---------- DOCK ---------- */
.dock {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 30;
  padding: 8px 16px calc(14px + var(--safe-b));
  background: linear-gradient(to top, rgba(3,1,10,.92) 40%, transparent);
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  pointer-events: none;
}
.power-wrap { width: min(420px, 86vw); pointer-events: none; }
.power-label {
  font-size: 9px; letter-spacing: .24em; color: var(--dim); margin-bottom: 4px; text-align: center;
}
.power-bar {
  height: 8px;
  border-radius: 99px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,210,74,.2);
  overflow: hidden;
}
.power-bar i {
  display: block; height: 100%; width: 0%;
  background: linear-gradient(90deg, #7a2a18, var(--gold), #fff6d0);
  box-shadow: 0 0 16px var(--gold);
  transition: width .05s linear;
}
.power-bar.ready i {
  background: linear-gradient(90deg, #ff6a3a, #ffe36a, #fff);
  animation: barReady .45s ease-in-out infinite;
}
@keyframes barReady {
  50% { filter: brightness(1.4); box-shadow: 0 0 22px #fff; }
}
.mega-btn {
  pointer-events: auto;
  width: min(420px, 86vw);
  border: 0;
  border-radius: 999px;
  padding: 14px 18px 12px;
  background: linear-gradient(180deg, #ffe36a, #e2a800);
  color: #1a1204;
  box-shadow:
    0 10px 30px rgba(255, 200, 40, .28),
    0 0 0 1px rgba(255,255,255,.3) inset;
  transform: translateZ(0);
}
.mega-btn span {
  display: block;
  font-family: Bebas Neue, sans-serif;
  font-size: 26px;
  letter-spacing: .14em;
  line-height: 1;
}
.mega-btn small {
  display: block;
  font-size: 10px;
  letter-spacing: .08em;
  opacity: .7;
  margin-top: 2px;
}
.mega-btn:active { transform: scale(.98); }
.mega-btn.charging {
  animation: chargePulse .5s ease-in-out infinite;
  background: linear-gradient(180deg, #fff1a8, #ff6a3a);
}
@keyframes chargePulse {
  50% { box-shadow: 0 0 40px rgba(255,80,40,.7), 0 0 0 1px #fff inset; }
}
.hint {
  font-size: 11px;
  color: var(--dim);
  letter-spacing: .04em;
}

/* ---------- OVERLAYS ---------- */
.overlay {
  position: fixed; inset: 0;
  z-index: 50;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center;
  padding: 28px 22px;
  background:
    radial-gradient(ellipse at 50% 20%, rgba(255,210,74,.12), transparent 40%),
    radial-gradient(ellipse at 50% 100%, rgba(120,40,200,.2), transparent 40%),
    rgba(4,2,10,.82);
  backdrop-filter: blur(16px);
}
.overlay.hidden { display: none; }
.boot-kicker, .ms-kicker {
  font-size: 11px;
  letter-spacing: .28em;
  color: var(--gold);
  margin-bottom: 14px;
}
.boot-logo {
  font-family: Cinzel, serif;
  font-weight: 900;
  font-size: clamp(42px, 12vw, 92px);
  line-height: .86;
  letter-spacing: .02em;
}
.boot-logo span { display: block; }
.boot-logo .gold {
  background: linear-gradient(180deg, #fff6d0, #ffd24a 40%, #c48900);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: none;
  filter: drop-shadow(0 10px 30px rgba(255,200,40,.25));
}
.boot-sub {
  margin-top: 16px;
  color: var(--dim);
  font-size: 15px;
  line-height: 1.45;
  max-width: 420px;
}
.boot-list {
  list-style: none;
  margin: 22px 0 28px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.9;
  opacity: .85;
}
.boot-cta {
  border: 0;
  border-radius: 999px;
  padding: 16px 36px;
  background: linear-gradient(180deg, #ffe36a, #e2a800);
  color: #1a1204;
  font-family: Bebas Neue, sans-serif;
  font-size: 28px;
  letter-spacing: .16em;
  box-shadow: 0 16px 40px rgba(255,200,40,.28);
}
.boot-cta.sm { font-size: 20px; padding: 12px 26px; }
.boot-legal { margin-top: 16px; font-size: 11px; color: #6a645c; }
.ghost-cta {
  margin-top: 10px;
  background: transparent;
  border: 1px solid rgba(255,210,74,.35);
  color: var(--gold);
  border-radius: 999px;
  padding: 10px 20px;
  letter-spacing: .12em;
  font-size: 12px;
}

.milestone h2, .share h2 {
  font-family: Cinzel, serif;
  font-size: clamp(28px, 8vw, 56px);
  line-height: 1;
}
.milestone p, .share p { color: var(--dim); max-width: 420px; margin: 12px 0 22px; }
.ms-ring {
  width: 120px; height: 120px; border-radius: 50%;
  border: 1px solid rgba(255,210,74,.4);
  box-shadow: 0 0 80px rgba(255,210,74,.25), inset 0 0 40px rgba(255,210,74,.15);
  margin-bottom: 18px;
  animation: spin 8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.share-card {
  width: min(420px, 90vw);
  text-align: left;
  background: linear-gradient(180deg, rgba(28,20,40,.9), rgba(10,8,16,.95));
  border: 1px solid rgba(255,210,74,.3);
  border-radius: 18px;
  padding: 18px 18px 14px;
  margin: 8px 0 22px;
}
.sc-brand {
  font-size: 10px; letter-spacing: .22em; color: var(--gold); margin-bottom: 12px;
}
.sc-row {
  display: flex; justify-content: space-between; gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
  font-size: 14px;
}
.sc-row b { font-family: Bebas Neue, sans-serif; font-size: 22px; color: var(--gold-2); letter-spacing: .04em; }
.sc-quote {
  margin-top: 12px;
  font-family: Cinzel, serif;
  font-size: 13px;
  color: #d2c6b0;
  font-style: italic;
}
.share-actions { display: flex; flex-direction: column; align-items: center; }

@media (max-width: 560px) {
  .hud-stats { gap: 10px; }
  .stat strong { font-size: 18px; }
  #fingerStage { height: 46vh; bottom: calc(138px + var(--safe-b)); width: min(88vw, 360px); }
  .rabbit-watch { width: 74px; bottom: calc(158px + var(--safe-b)); right: 6px; }
  .rabbit-watch img, .rabbit-hit { width: 74px; height: 96px; }
  .boot-rabbit { opacity: .28; }
}

/* ---------- RABBIT ---------- */
.rabbit-watch {
  position: fixed;
  right: 10px;
  bottom: calc(168px + var(--safe-b));
  z-index: 28;
  width: 92px;
  pointer-events: none;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .35s ease, transform .35s ease;
}
.rabbit-watch.on { opacity: 1; transform: none; pointer-events: auto; }
.rabbit-hit {
  display: block;
  width: 92px;
  height: 118px;
  padding: 0;
  border: 1px solid rgba(255,210,74,.35);
  border-radius: 18px 18px 8px 18px;
  overflow: hidden;
  background: #10080c;
  cursor: pointer;
  box-shadow: 0 12px 30px rgba(0,0,0,.45), 0 0 24px rgba(255,180,40,.12);
}
.rabbit-hit:active { transform: scale(.96) rotate(-2deg); }
.rabbit-watch.mad .rabbit-hit {
  animation: rabbitMad .35s ease;
  box-shadow: 0 0 24px rgba(255,60,60,.45);
}
@keyframes rabbitMad {
  0%,100% { transform: none; }
  25% { transform: translateX(-4px) rotate(-3deg); }
  75% { transform: translateX(5px) rotate(3deg); }
}
.rabbit-watch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
  filter: contrast(1.05) saturate(1.1);
  pointer-events: none;
}
.rabbit-bubble {
  margin-top: 6px;
  background: rgba(10,8,16,.82);
  border: 1px solid rgba(255,210,74,.28);
  color: #f6f1e8;
  font-size: 10px;
  line-height: 1.3;
  padding: 6px 8px;
  border-radius: 8px;
  backdrop-filter: blur(8px);
}

.boot { justify-content: flex-end; padding-bottom: 18px; }
.boot-rabbit {
  position: absolute;
  left: 50%;
  top: -4%;
  transform: translateX(-50%);
  width: min(420px, 78vw);
  height: min(58vh, 560px);
  object-fit: contain;
  object-position: center top;
  mix-blend-mode: lighten;
  opacity: .55;
  pointer-events: none;
  mask-image: linear-gradient(to bottom, #000 55%, transparent 92%);
  -webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent 92%);
  filter: contrast(1.08) saturate(1.15);
}
.boot-panel { position: relative; z-index: 2; }
.boot-foot {
  position: relative;
  z-index: 3;
  width: min(520px, 100%);
  margin-top: 22px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 12px;
  letter-spacing: .06em;
}
.boot-foot a {
  color: var(--gold);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,210,74,.3);
  padding-bottom: 2px;
}
.boot-foot a:hover { color: #fff6d0; }
.boot-foot .credits { color: #c4b8a4; border-color: rgba(196,184,164,.35); }

.ms-rabbit {
  width: 92px; height: 92px;
  object-fit: cover;
  object-position: center 20%;
  border-radius: 50%;
  border: 1px solid rgba(255,210,74,.4);
  margin-bottom: 14px;
  box-shadow: 0 0 40px rgba(255,210,74,.2);
}
.ms-actions { display: flex; flex-direction: column; align-items: center; }
