/* Leal AI: lightweight native interpretations of the three approved 21st references.
   Original geometry of the eye is unchanged. No additional UI framework required. */
@property --star-turn { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
.leal-site::before {
  background:
    radial-gradient(ellipse at 78% 22%, #1bdfe823 0, transparent 54%),
    radial-gradient(ellipse at 12% 65%, #328eaa1b 0, transparent 51%),
    radial-gradient(ellipse at 65% 90%, #63fff311 0, transparent 48%),
    linear-gradient(#7cece60a 1px, transparent 1px),
    linear-gradient(90deg, #7cece60a 1px, transparent 1px);
  background-size: 120% 120%, 115% 115%, 130% 130%, 64px 64px, 64px 64px;
  background-position: 0 0, 100% 100%, 50% 50%, 0 0, 0 0;
  animation: leal-grid-drift 24s ease-in-out infinite alternate;
}
@keyframes leal-grid-drift {
  to { background-position: 75% 40%, 0 25%, 20% 100%, 0 0, 0 0; }
}
.leal-site.quick-page::before { animation: none; }
.leal-site .button-star {
  --star-turn: 0deg;
  position: relative; overflow: hidden; border: 1px solid #6ce9e5;
  border-radius: 999px; min-height: 46px; padding: 12px 22px;
  background: radial-gradient(ellipse at 70% 120%, #25575f, transparent 65%), #0c1c25;
  color: #f1ffff; text-shadow: 0 1px 3px #000;
  box-shadow: inset 0 1px 0 #d1ffff26, 0 0 22px #4fdfde19;
  transition: box-shadow .25s, transform .25s;
}
.leal-site .button-star::before {
  content: ''; position: absolute; inset: 0; padding: 2px; border-radius: inherit; pointer-events: none;
  background: conic-gradient(from var(--star-turn), transparent 30%, #6ff3ef 46%, #efffff 50%, #6ff3ef 54%, transparent 70%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  animation: leal-star-orbit 7s linear infinite;
}
.leal-site .button-star::after {
  content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .65;
  background: radial-gradient(circle at 12% 28%, #e6fffd 0 1px, transparent 2px),
    radial-gradient(circle at 84% 24%, #bafff9 0 .7px, transparent 2px),
    radial-gradient(circle at 74% 80%, #bafff9 0 1px, transparent 2px),
    radial-gradient(circle at 27% 85%, #bafff9 0 .6px, transparent 2px);
  animation: leal-star-pulse 3.8s ease-in-out infinite alternate;
}
@keyframes leal-star-orbit { to { --star-turn: 360deg; } }
@keyframes leal-star-pulse { to { opacity: .2; } }
.leal-site .button-star:hover { color: #fff; box-shadow: 0 0 28px #53e7e738, inset 0 1px 0 #cfffff66; transform: translateY(-2px); }
.leal-site .button-star:focus-visible { outline: 2px solid #c6fff7; outline-offset: 5px; }
.leal-site .nav-assistant { padding: 10px 17px; font-size: 12px; min-height: 44px; white-space: nowrap; }
.leal-site .hero-ai-link { margin-top: 18px; font-size: 12px; gap: 16px; }
.leal-site .button-star:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.leal-site .button-star:disabled::before, .leal-site .button-star:disabled::after { animation-play-state: paused; }
.leal-site .button-flame {
  --pointer-x: 70%; --pointer-y: 110%;
  position: relative; overflow: hidden; border: 1px solid #60e7dd88; border-radius: 12px;
  color: #edfffd;
  background: radial-gradient(ellipse 160px 110px at var(--pointer-x) var(--pointer-y), #30e5e055, transparent 80%), linear-gradient(160deg,#173b43,#08181f);
  box-shadow: inset 0 -2px 0 #83fff23b, 0 8px 26px #0004;
  transition: box-shadow .3s, border-color .3s, transform .3s;
}
.leal-site .button-flame::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 90px 45px at var(--pointer-x) var(--pointer-y), #a8fff92e, transparent);
  opacity: .7; transition: opacity .3s;
}
.leal-site .button-flame:hover, .leal-site .button-flame:focus-visible {
  color: #fff; border-color: #a9fff3;
  background: radial-gradient(ellipse 160px 110px at var(--pointer-x) var(--pointer-y), #30e5e055, transparent 80%), linear-gradient(160deg,#173b43,#08181f);
  box-shadow: inset 0 -2px 0 #bafff477, 0 0 24px #3be2d92d;
}
.leal-site .button-flame:focus-visible { outline: 2px solid #b9fff5; outline-offset: 5px; }
.leal-site .button-flame:active { transform: scale(.98); }
.effects-toggle { font: 500 11px var(--body); color: #bbd2d7; background: #10212a; border: 1px solid #3f5f6b; border-radius: 7px; padding: 10px 12px; cursor: pointer; min-height: 40px; }
.effects-toggle:hover { border-color: #91e5df; color: #fff; }
.leal-site.effects-paused::before, .leal-site.effects-paused *, .leal-site.effects-paused *::before, .leal-site.effects-paused *::after { animation-play-state: paused !important; }
.leal-site.effects-paused .button, .leal-site.effects-paused .button::after { transition: none; }
.leal-site .site-footer { flex-wrap: wrap; gap: 20px; }
@media(max-width:1100px) and (min-width:801px) { .leal-site nav { gap: 14px; font-size: 12px; } .leal-site .header-inner { gap: 18px; } }
@media(max-width:700px) {
  .leal-site::before { animation: none; background-size: 120% 120%, 115% 115%, 130% 130%, 48px 48px, 48px 48px; }
  .leal-site .button-star::after { animation: none; }
  .leal-site .hero-ai-link { margin-top: 16px; }
}
@media(prefers-reduced-motion:reduce) {
  .leal-site::before, .leal-site .button-star::before, .leal-site .button-star::after { animation: none; }
  .leal-site .button-star, .leal-site .button-flame, .leal-site .button-flame::before { transition: none; transform: none; }
}
@media(forced-colors:active) { .leal-site::before,.button-star::before,.button-star::after,.button-flame::before { display: none; } }
