@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;0,700;1,400&family=Noto+Serif+SC:wght@200;300;400;500&display=swap");

:root, .light, .dark, html, body, html.dark, html.light, [data-theme="light"], [data-theme="dark"] {
  --background: #FDFBF6 !important;
  --foreground: #1E1B16 !important;
  --card: #FFFFFF !important;
  --card-foreground: #1E1B16 !important;
  --popover: #FFFFFF !important;
  --popover-foreground: #1E1B16 !important;
  --primary: #A07D42 !important;
  --primary-foreground: #FDFBF6 !important;
  --secondary: #F5F1EA !important;
  --secondary-foreground: #1E1B16 !important;
  --muted: #F5F1EA !important;
  --muted-foreground: #6B6355 !important;
  --accent: #A07D42 !important;
  --accent-foreground: #FDFBF6 !important;
  --border: rgba(160,125,66,0.16) !important;
  --input: rgba(160,125,66,0.12) !important;
  --ring: rgba(160,125,66,0.45) !important;
  --radius: 0.1rem !important;
  --font-sans: "Noto Serif SC", ui-serif, serif !important;
  --font-body: "Noto Serif SC", ui-serif, serif !important;
  --gold: #A07D42;
  --gold-bright: #C9A96E;
  --gold-dim: #CABFA5;
  --cream: #1E1B16;
  --cream-dim: #9E9585;
}

html, body { background: #FDFBF6 !important; color: #1E1B16 !important; }
body { font-family: "Noto Serif SC", ui-serif, serif !important; }
h1, h2, h3, h4, .font-display { font-family: "Playfair Display", "Noto Serif SC", serif !important; }
input, textarea, select {
  background-color: #FFFFFF !important;
  color: #1E1B16 !important;
  border-color: rgba(160,125,66,0.18) !important;
}
input::placeholder, textarea::placeholder { color: #9E9585 !important; }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: rgba(160,125,66,0.25); }
::-webkit-scrollbar-track { background: #F5F1EA; }

/* ===== 隐藏 New API 原生底部（只匹配真正的 footer 元素/类名） ===== */
footer, [class~="footer"], [class~="app-footer"], [class~="site-footer"] { display: none !important; }

/* ===== Reveil 底部固定栏 ===== */
@keyframes rvParticleRise {
  0% { transform: translateY(0) translateX(0); opacity: 0; }
  8% { opacity: 0.7; }
  85% { opacity: 0.5; }
  100% { transform: translateY(-100vh) translateX(var(--drift)); opacity: 0; }
}
@keyframes rvShimmer {
  0% { background-position: -300% center; }
  100% { background-position: 300% center; }
}
@keyframes rvGlowBreath {
  0%, 100% { opacity: 0.35; width: 60px; }
  50% { opacity: 0.7; width: 100px; }
}

.reveil-particles {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9998;
  overflow: hidden;
}
.reveil-particle {
  position: absolute;
  bottom: 0;
  border-radius: 50%;
  background: var(--gold);
  opacity: 0;
  animation: rvParticleRise var(--dur) var(--delay) linear infinite;
}

.reveil-bottom {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  pointer-events: none;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.reveil-bottom-line {
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(160,125,66,0.05) 15%, rgba(160,125,66,0.35) 40%, var(--gold) 50%, rgba(160,125,66,0.35) 60%, rgba(160,125,66,0.05) 85%, transparent 100%);
}
.reveil-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  padding: 0.75rem 2rem;
  background: linear-gradient(to top, rgba(253,251,246,0.97) 0%, rgba(253,251,246,0.75) 60%, rgba(253,251,246,0) 100%);
}
.reveil-bottom-wing {
  height: 1px;
  width: 40px;
  background: linear-gradient(90deg, transparent, var(--gold-dim));
}
.reveil-bottom-wing:last-child {
  background: linear-gradient(90deg, var(--gold-dim), transparent);
}
.reveil-bottom-diamond {
  width: 5px;
  height: 5px;
  border: 1px solid var(--gold);
  transform: rotate(45deg);
  flex-shrink: 0;
  position: relative;
}
.reveil-bottom-diamond::after {
  content: '';
  position: absolute;
  inset: 1px;
  background: var(--gold);
  opacity: 0.3;
}
.reveil-bottom-brand {
  font-family: 'Cinzel', serif;
  font-size: 0.55rem;
  font-weight: 500;
  letter-spacing: 0.45em;
  text-transform: uppercase;
  background: linear-gradient(120deg, #8A6A34, #C9A96E, #A07D42, #C9A96E, #8A6A34);
  background-size: 300% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: rvShimmer 8s linear infinite;
  flex-shrink: 0;
}
.reveil-bottom-glow {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 1px;
  background: var(--gold);
  filter: blur(3px);
  animation: rvGlowBreath 4s ease-in-out infinite;
  pointer-events: none;
}
