:root {
  color-scheme: light;
  --bg: #ffffff;
  --bg2: #f7f8fc;
  --panel: #ffffff;
  --panel2: #f7f4ff;
  --gold: #b98113;
  --gold2: #e79a13;
  --pink: #d83bb9;
  --violet: #7540b8;
  --cyan: #168fc2;
  --text: #202334;
  --muted: #667085;
  --line: rgba(96, 73, 128, .19);
  --glow: 0 5px 22px rgba(35, 29, 52, .08), 0 1px 4px rgba(35, 29, 52, .05);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  font-family: Inter, system-ui, sans-serif;
  background: transparent;
  overflow-x: hidden;
}
button, a { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
#aga-background-rotator { position: fixed; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; background: #fff; }
.aga-bg-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .05; transition: opacity 8s ease-in-out; filter: saturate(.88) contrast(.96); }
.aga-bg-image.is-active { opacity: .4; }
@media (prefers-reduced-motion: reduce) { .aga-bg-image { transition-duration: 1ms; } }
.ambient { position: fixed; z-index: 0; pointer-events: none; border-radius: 50%; filter: blur(90px); opacity: .025; }
.ambient-a { width: 320px; height: 320px; background: #a42aff; top: 18%; left: -180px; }
.ambient-b { width: 360px; height: 360px; background: #f52dcb; right: -230px; top: 55%; }
#app-shell { position: relative; z-index: 1; max-width: 1240px; margin: auto; padding: 0 14px 108px; }
.gold-text { color: var(--gold); }
.section-title { font-size: clamp(22px, 4vw, 32px); font-weight: 900; text-align: center; margin: 0 0 6px; color: #262236; }
.section-sub { text-align: center; color: var(--muted); font-size: 13px; margin: 0 0 20px; }
.panel { background: #fff; border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--glow); }
.hidden { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (min-width: 760px) {
  #app-shell { padding-left: 26px; padding-right: 26px; }
  .bottom-nav { max-width: 650px; left: 50% !important; transform: translateX(-50%); }
}
.topbar { height: 82px; display: flex; align-items: center; justify-content: flex-start; padding: 7px 8px; }
.icon-btn { width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 13px; background: #fff; color: #49385f; font-size: 25px; box-shadow: var(--glow); }
.brand { display: flex; align-items: center; gap: 9px; font-size: 10px; letter-spacing: 1.1px; font-weight: 800; }
.brand img { width: 58px; height: 58px; object-fit: contain; border-radius: 50%; filter: drop-shadow(0 2px 6px rgba(148, 103, 26, .2)); }
.brand span { display: grid; color: #544763; }
.brand b { color: #9a6b0d; font-size: 12px; }
.notification { position: relative; }
.notification i { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: #ff3d62; right: 7px; top: 7px; box-shadow: 0 0 8px #ff3d62; }
.bottom-nav {
  position: fixed; z-index: 40; bottom: 0; left: 0; right: 0; height: 78px;
  padding: 7px max(12px, env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  display: flex; align-items: center; justify-content: space-around;
  background: rgba(255, 255, 255, .96); border-top: 1px solid rgba(96, 73, 128, .15);
  box-shadow: 0 -5px 22px rgba(35, 29, 52, .08); backdrop-filter: blur(18px);
}
.bottom-nav a { width: 19%; display: flex; flex-direction: column; align-items: center; gap: 2px; color: #777386; font-size: 23px; }
.bottom-nav small { font-size: 10px; font-weight: 700; }
.bottom-nav a.active { color: #95680d; }
.nav-spin {
  width: 62px; height: 62px; margin-top: -37px; border: 3px solid #fff7d6; border-radius: 50%;
  color: #fff; background: conic-gradient(#ffdf4d, #f04eff, #6e39ff, #ffdf4d);
  box-shadow: 0 0 0 4px #fff, 0 3px 16px rgba(190, 132, 22, .35), inset 0 0 0 5px #4a2471;
  font-size: 35px; font-weight: 900; text-shadow: 0 2px 8px #5b1688; animation: navPulse 2.4s infinite;
}
.site-footer { margin: 30px 0 18px; padding: 0 0 12px; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--glow); overflow: hidden; }
.footer-main { padding: 22px 22px 16px; }
.footer-brand { display: flex; align-items: center; gap: 12px; }
.footer-brand img { width: 58px; height: 58px; object-fit: contain; filter: drop-shadow(0 2px 6px rgba(148, 103, 26, .2)); }
.footer-brand strong, .footer-brand span { display: block; }
.footer-brand strong { font-size: 13px; letter-spacing: 1px; color: #282437; }
.footer-brand span { font-size: 10px; color: #9a6b0d; font-weight: 800; letter-spacing: 1.5px; margin-top: 4px; }
.footer-copy { max-width: 560px; color: #697184; font-size: 12px; line-height: 1.6; margin: 13px 0; }
.footer-links { display: flex; flex-wrap: wrap; gap: 9px 20px; padding-top: 5px; }
.footer-links a { font-size: 11px; font-weight: 800; color: #59496d; }
.footer-links a:hover { color: #9a6b0d; }
.footer-partners { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid rgba(96, 73, 128, .12); border-bottom: 1px solid rgba(96, 73, 128, .12); background: #faf9fc; }
.footer-partners > span { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; min-width: 0; }
.footer-partners > span + span { border-left: 1px solid rgba(96, 73, 128, .12); }
.footer-partners b { font-size: 8px; letter-spacing: 1px; color: #777084; }
.footer-partners strong { font-size: 11px; color: #8a620f; }
.footer-partners small { font-size: 9px; color: #72788a; line-height: 1.4; }
.footer-bottom { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 13px 22px 0; color: #858899; font-size: 9px; letter-spacing: .3px; }
@keyframes navPulse { 50% { transform: scale(1.06); box-shadow: 0 0 0 4px #fff, 0 3px 21px rgba(190, 132, 22, .48), inset 0 0 0 5px #4a2471; } }
@media (max-width: 560px) {
  .footer-main { padding: 18px 16px 14px; }
  .footer-partners { grid-template-columns: 1fr; }
  .footer-partners > span { padding: 11px 16px; }
  .footer-partners > span + span { border-left: 0; border-top: 1px solid rgba(96, 73, 128, .12); }
  .footer-bottom { padding: 12px 16px 0; }
  .footer-bottom span:last-child { display: none; }
}
body.modal-open { overflow: hidden; }
