
:root{--gold:#c89a46;--gold2:#f0d08b;--ink:#050505;--panel:#14110d}
*{box-sizing:border-box}
html,body{margin:0;background:#050505;color:#e8dcc5;font-family:Georgia,'Times New Roman',serif;min-height:100%}
body{display:grid;place-items:center;min-height:100dvh;background:radial-gradient(circle at 50% 10%,#211a10 0,#080706 42%,#020202 100%)}
a{color:#e2bb6c}
.machine{width:min(100%,1180px);min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:18px}
.stage{position:relative;overflow:hidden;background:#000;border:1px solid #332a1b;box-shadow:0 22px 70px #000}
.stage img{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.cover,.reveal{position:absolute;inset:0}.cover{position:relative;z-index:1}.reveal{opacity:0;z-index:2;pointer-events:none}
.console{border:1px solid #46371f;border-top:0;background:linear-gradient(#211a10,#0d0b08 58%,#050504);box-shadow:inset 0 1px #66502b,0 18px 50px #000;padding:16px}
.plate{text-align:center;color:#aa8b54;font-size:11px;letter-spacing:.24em;text-transform:uppercase;margin-bottom:12px}
.controls{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:10px;align-items:stretch}.controls .peek{grid-column:1/-1}.mute-btn{min-width:0}
.btn{appearance:none;text-decoration:none;text-align:center;border:1px solid #6f572d;border-radius:5px;background:linear-gradient(#2c2417,#0c0a07);color:var(--gold2);font:700 13px/1.15 Georgia,serif;letter-spacing:.08em;min-height:62px;padding:10px;box-shadow:inset 0 1px #6b5630,0 4px 0 #030302;cursor:pointer;text-shadow:0 1px #000;display:flex;align-items:center;justify-content:center}
.btn:active{transform:translateY(2px);box-shadow:inset 0 1px #6b5630,0 2px 0 #030302}
.peek{border-color:#8c5a32;color:#f2c5a1;line-height:1.25;padding-left:16px;padding-right:16px}
#peek{animation:giftBlink 1.25s ease-in-out infinite}
#peek.unlocked{animation:none;border-color:#a77c3c;color:#ffe1a2}
@keyframes giftBlink{0%,100%{opacity:1;filter:brightness(1);box-shadow:0 0 0 rgba(242,197,161,0)}50%{opacity:.52;filter:brightness(1.35);box-shadow:0 0 18px rgba(242,197,161,.38)}}
@media (prefers-reduced-motion:reduce){#peek{animation:none}}
.coin{display:inline-block;width:20px;height:20px;border-radius:50%;border:1px solid #d5ae55;margin-right:7px;vertical-align:-5px;background:radial-gradient(circle at 35% 30%,#f2d486,#b17d29 60%,#5b3d10);box-shadow:inset 0 0 0 2px #7e581b;color:#3c290d;font:bold 12px/18px Arial;text-align:center;flex:0 0 auto}
.status{text-align:center;min-height:18px;margin-top:10px;font-size:12px;color:#9c8a69}
.modal{position:fixed;inset:0;display:none;place-items:center;background:#000d;padding:22px;z-index:20;overflow:auto}.modal.open{display:grid}
.card{width:min(100%,650px);max-height:min(88dvh,820px);overflow:auto;background:rgba(20,17,13,.98);border:1px solid #71582d;padding:28px;box-shadow:0 30px 80px #000}.card h2{color:#d7ad5a;margin:0 40px 18px 0;font-size:clamp(27px,4vw,36px)}.card h3{color:#d1ad63;margin:28px 0 8px;font-size:14px;letter-spacing:.12em;text-transform:uppercase}.card p{line-height:1.6;color:#d5c8b0}.close{float:right;background:none;border:0;color:#caa65d;font-size:28px;cursor:pointer;line-height:1;padding:0 2px}.tag{font-style:italic;color:#a89470}.about-pull{font-size:1.12em;color:#ead4aa!important;border-left:2px solid #8e6d35;padding-left:15px}.whatsapp-btn{width:100%;margin-top:12px;min-height:52px}.rights{margin-top:30px;padding-top:18px;border-top:1px solid #46371f;text-align:center;color:#8e8067;font-size:12px;line-height:1.6}.payment-help{font-size:12px;color:#9e8c6c;text-align:center;margin-bottom:0}
#paypalButtonContainer{min-height:46px;margin-top:18px}
.return-btn{position:absolute;left:50%;bottom:5%;transform:translateX(-50%);opacity:0;pointer-events:none;z-index:10;min-height:46px;padding:10px 18px;white-space:nowrap}.return-btn.show{opacity:1;pointer-events:auto}
.lyrics-panel{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;padding:44px clamp(26px,5vw,70px) 28px;background:linear-gradient(180deg,rgba(0,0,0,.88),rgba(5,4,3,.93) 55%,rgba(0,0,0,.97));backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .35s ease;color:#eadfc9}
.lyrics-panel.open{opacity:1;pointer-events:auto}.lyrics-heading{text-align:center;color:#d8b264;font-size:clamp(28px,4vw,48px);font-weight:700;letter-spacing:.02em;text-shadow:0 2px 12px #000}.lyrics-sub{text-align:center;margin:5px 0 18px;color:#9e8966;font-size:11px;letter-spacing:.2em;text-transform:uppercase}.lyrics-close{position:absolute;right:16px;top:12px;border:0;background:transparent;color:#d1ad63;font-size:30px;line-height:1;cursor:pointer;padding:4px 8px}.lyrics-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;max-width:760px;width:100%;margin:0 auto;padding:10px 8px 35vh;text-align:center;font-size:clamp(16px,2vw,22px);line-height:1.58;scrollbar-width:thin;scrollbar-color:#6c552c #111}.lyrics-scroll p{margin:0 0 1.5em;opacity:.82;transition:opacity .25s,text-shadow .25s,color .25s}.lyrics-scroll p.chorus{color:#e0bd74;font-weight:700;opacity:.96}.lyrics-hint{text-align:center;color:#8e7d61;font-size:11px;letter-spacing:.04em;padding-top:8px}
@media (orientation:portrait){.machine{padding:0;justify-content:start}.stage{width:100%;aspect-ratio:1/1;margin-top:0}.console{padding:14px 10px 18px}.controls{grid-template-columns:1fr 1fr}.controls #loopToggle{width:auto;justify-self:stretch;min-height:58px}.peek{grid-column:1/-1;min-height:64px}.btn{min-height:58px}.plate{margin-top:2px}.stage img{object-fit:cover}.return-btn{bottom:4%;font-size:11px}.lyrics-panel{padding:38px 24px 24px}.lyrics-heading{font-size:clamp(24px,7vw,34px)}.lyrics-scroll{font-size:clamp(15px,4vw,19px)}.modal{padding:12px}.card{padding:22px 18px}}
@media (orientation:landscape){.machine{height:100dvh;max-height:900px;padding:16px}.stage{flex:1;min-height:0}.stage img{object-fit:contain}.console{flex:0 0 auto}.controls{max-width:900px;margin:auto}.status{margin-bottom:0}}


/* Reliable first-visit audio fallback. Browsers commonly block audible autoplay. */
.sound-gate{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:8;
  display:none;
  padding:12px 18px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:999px;
  background:rgba(0,0,0,.78);
  color:#fff;
  font:inherit;
  font-weight:700;
  letter-spacing:.08em;
  cursor:pointer;
  backdrop-filter:blur(5px);
}
.sound-gate.show{display:block;}
