/* Entrada interativa R06 — SVG e sequência R01 conservados. */
html { scrollbar-gutter: stable; }
html[data-repulse-intro=pending] #root { visibility: hidden; }
.repulse-intro[hidden] { display: none; }
.repulse-intro:focus, [data-intro-focus-target]:focus { outline: none; }
.repulse-intro {
  position: fixed; inset: 0; z-index: 1000;
  display: grid; place-items: center;
  background: #030303; color: #f4f2ed;
  isolation: isolate;
}
.intro-stage { position: relative; width: min(760px, 86vw); text-align: center; padding-bottom: 22px; }
.intro-brand {
  opacity: 0; margin: 0 0 28px;
  font-family: 'REPULSE Pulse', sans-serif; font-weight: 400;
  font-size: clamp(23px, 3vw, 32px); line-height: 1.25;
  letter-spacing: .04em;
}
.intro-brand span { display: block; margin-top: 7px; color: #d6a247; font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: .4em; }
.intro-pulse {
  display: block; position: relative; width: 100%; aspect-ratio: 900 / 152;
  margin: 0; padding: 0; border: 0; background: transparent; appearance: none;
  line-height: 0; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.intro-pulse::before { content: ''; position: absolute; inset: -14px 0; }
.intro-pulse:focus { outline: none; }
.intro-pulse:focus-visible { outline: 1px solid rgba(214,162,71,.7); outline-offset: 12px; border-radius: 2px; }
.intro-pulse:disabled { cursor: default; }
.intro-pulse img { display: block; position: absolute; inset: 0; width: 100%; height: auto; pointer-events: none; }
.intro-pulse-core { opacity: 0; clip-path: inset(0 100% 0 0); }
.intro-pulse-light { opacity: 0; filter: blur(5px) drop-shadow(0 0 17px rgba(214,162,71,.65)); }
.intro-slogan {
  opacity: 0; margin: 28px 0 0;
  font-family: 'REPULSE Pulse', sans-serif; font-weight: 400;
  font-size: clamp(18px, 2.3vw, 25px); line-height: 1.3;
  letter-spacing: .015em;
}
.intro-slogan-accent { color: #d6a247; }
.intro-hint {
  position: absolute; left: 0; right: 0; top: calc(100% - 12px); margin: 0;
  font: 400 12px/1.5 'DM Sans Variable', sans-serif;
  letter-spacing: .06em; color: #aca28e; visibility: hidden;
}
.repulse-intro[data-state=inviting] .intro-hint { visibility: visible; }
.repulse-intro[data-state=inviting] .intro-brand,
.repulse-intro[data-state=inviting] .intro-slogan { opacity: 1; }
.repulse-intro[data-state=inviting] .intro-pulse-core {
  clip-path: inset(0); opacity: .9;
  animation: repulse-invite-luminance 2.8s ease-in-out infinite;
}
.repulse-intro[data-state=inviting] .intro-pulse-light {
  opacity: .1; animation: repulse-invite-glow 2.8s ease-in-out infinite;
}
@media(hover:hover) {
  .repulse-intro[data-state=inviting] .intro-pulse:hover .intro-pulse-core { animation: none; opacity: 1; filter: drop-shadow(0 0 7px rgba(214,162,71,.55)); }
  .repulse-intro[data-state=inviting] .intro-pulse:hover .intro-pulse-light { animation: none; opacity: .3; }
}
@keyframes repulse-invite-luminance { 0%,100% { opacity: .72; } 50% { opacity: 1; } }
@keyframes repulse-invite-glow { 0%,100% { opacity: .06; } 50% { opacity: .2; } }
@media(max-width:479px) {
  .intro-stage { width: calc(100vw - 42px); }
  .intro-brand { margin-bottom: 34px; }
  .intro-slogan { margin-top: 34px; font-size: 17px; }
}
@media(prefers-reduced-motion:reduce) {
  .intro-pulse-light { display: none; }
  .repulse-intro[data-state=inviting] .intro-pulse-core { animation: repulse-invite-soft 2.8s ease-in-out infinite !important; }
}
@keyframes repulse-invite-soft { 0%,100% { opacity: .8; } 50% { opacity: .94; } }
