/* public/splash/splash.css */
body::before {
  content: '';
  position: fixed; inset: 0; z-index: 0;
  background: radial-gradient(ellipse 80% 65% at 50% 42%, #0F2518 0%, transparent 70%), var(--bg-deep);
}

.floating-suits { position: fixed; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; }
.fs { position: absolute; color: var(--gold-dim); animation: floatUp linear infinite; user-select: none; }
.s1 { left:7%;  font-size:1rem; animation-duration:20s; animation-delay:0s;   opacity:.25; }
.s2 { left:21%; font-size:1.5rem; animation-duration:26s; animation-delay:-7s;  opacity:.18; color:rgba(180,50,50,.3); }
.s3 { left:40%; font-size:.85rem; animation-duration:22s; animation-delay:-12s; opacity:.22; color:rgba(180,50,50,.28); }
.s4 { left:62%; font-size:1.2rem; animation-duration:24s; animation-delay:-5s;  opacity:.18; }
.s5 { left:79%; font-size:.75rem; animation-duration:28s; animation-delay:-16s; opacity:.25; }
.s6 { left:91%; font-size:1.4rem; animation-duration:21s; animation-delay:-9s;  opacity:.18; color:rgba(180,50,50,.28); }
@keyframes floatUp {
  from { transform: translateY(110vh) rotate(0deg); }
  to   { transform: translateY(-15vh) rotate(360deg); }
}

.splash-main {
  position: relative; z-index: 10;
  min-height: 100vh;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 2rem; gap: 0;
}

.emblem { width: 150px; height: 150px; margin-bottom: 2rem; animation: emblemIn 1.8s cubic-bezier(.16,1,.3,1) both; }
.emblem-svg { width: 100%; height: 100%; animation: slowSpin 70s linear infinite; filter: drop-shadow(0 0 18px rgba(195,155,90,.18)); }
@keyframes emblemIn { from { opacity:0; transform:scale(.55) rotate(-25deg); } to { opacity:1; transform:scale(1) rotate(0deg); } }
@keyframes slowSpin { to { transform: rotate(360deg); } }

.s-pre   { font-family: var(--font-body); font-weight: 200; font-size: .68rem; letter-spacing: .55em; color: var(--gold); margin-bottom: .55rem; animation: fadeUp 1.2s .2s both; }
.s-title {
  font-family: var(--font-display); font-weight: 900; font-size: clamp(3.2rem,9vw,5.5rem);
  letter-spacing: .12em; line-height: 1;
  background: linear-gradient(180deg, #EDE0C4 0%, #C39B5A 55%, #8B6830 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  text-shadow: none;
  animation: fadeUp 1.2s .3s both;
}
.s-rule  { width: 160px; margin: 1.2rem 0 .9rem; animation: fadeUp 1.2s .4s both; }
.s-sub   { font-family: var(--font-serif); font-style: italic; font-weight: 300; font-size: .88rem; color: var(--text-dim); letter-spacing: .18em; margin-bottom: 2.5rem; animation: fadeUp 1.2s .5s both; }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}

.s-form { display: flex; flex-direction: column; align-items: center; gap: 1.1rem; width: 100%; max-width: 300px; animation: fadeUp 1.2s .65s both; }

.s-input-wrap { width: 100%; position: relative; }
.s-input {
  width: 100%; background: transparent; border: none;
  border-bottom: 1px solid var(--gold-dim);
  color: var(--text); font-family: var(--font-body); font-weight: 300;
  font-size: .95rem; letter-spacing: .2em;
  padding: .75rem 0; text-align: center; outline: none;
  transition: border-color .3s; caret-color: var(--gold);
}
.s-input::placeholder { color: var(--text-dim); font-size: .82rem; letter-spacing: .12em; }
.s-input:focus { border-bottom-color: var(--gold); }
.s-underline {
  position: absolute; bottom: 0; left: 50%; width: 0; height: 1px;
  background: var(--gold-light); box-shadow: 0 0 8px rgba(232,201,122,.6);
  transition: width .4s cubic-bezier(.16,1,.3,1), left .4s cubic-bezier(.16,1,.3,1);
}
.s-input:focus ~ .s-underline { width: 100%; left: 0; }

.s-btn { width: 100%; display: flex; align-items: center; justify-content: center; gap: .6rem; font-size: .78rem; padding: .9rem; }
.s-arrow { transition: transform .25s; }
.s-btn:hover .s-arrow { transform: translateX(4px); }

.s-error { font-family: var(--font-serif); font-style: italic; font-size: .85rem; color: #C0504A; min-height: 1.2rem; text-align: center; }

.s-footer { position: fixed; bottom: 1.8rem; font-size: .5rem; color: rgba(195,155,90,.22); letter-spacing: .45em; animation: fadeUp 2s 1s both; }
