
/* Adaptive theme system: default dark, light overrides via .theme-light on body */
html.theme-dark body{
  background:
    radial-gradient(900px 420px at 50% 45%,rgba(255,255,255,.035),transparent 70%),
    #111413;
  color:#f5f7f4;
}
html.theme-light body{
  background:
    radial-gradient(900px 420px at 50% 45%,rgba(22,40,30,.035),transparent 70%),
    linear-gradient(180deg,#fbfcfa 0%,#f4f6f2 100%);
  color:#171b18;
}

/* Bar theme */
html.theme-light body .search{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(232,237,232,.93)) !important;
  box-shadow:
    0 18px 55px rgba(30,46,36,.10),
    inset 0 1px rgba(255,255,255,.98),
    inset 0 -1px rgba(22,32,26,.05) !important;
}
html.theme-light body .joinPatch{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(232,237,232,.93)) !important;
}
html.theme-light body .borderFx .base{stroke:rgba(28,38,31,.12)!important}
html.theme-light body .borderFx .moving{stroke:rgba(72,98,83,.78)!important}
html.theme-light body .infinity{
  background:#fff !important;
  border-color:rgba(255,255,255,.98)!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.98),
    0 0 10px rgba(255,255,255,.98),
    0 0 18px rgba(55,170,240,.18)!important;
}
html.theme-light body .infinity::after{
  background:radial-gradient(circle,rgba(55,170,240,.08) 56%,transparent 72%)!important;
}
html.theme-light body input{color:#18201b!important}
html.theme-light body input::placeholder{color:rgba(24,32,27,.48)!important}
html.theme-light body .submit{
  background:rgba(255,255,255,.76)!important;
  color:rgba(24,32,27,.58)!important;
  border-color:rgba(30,42,34,.10)!important;
}
html.theme-light body .submit.active{
  color:#17344b!important;
  border-color:rgba(54,165,235,.38)!important;
  background:rgba(54,165,235,.10)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.92),0 0 22px rgba(54,165,235,.18)!important;
}
html.theme-light body .chip{
  color:#1a211d!important;
  border-color:rgba(30,42,34,.10)!important;
  background:rgba(255,255,255,.74)!important;
  box-shadow:0 6px 20px rgba(30,46,36,.05)!important;
}
html.theme-light body .chip:hover{background:#fff!important}
html.theme-light body .infoLayer{
  background:rgba(243,246,243,.78)!important;
  backdrop-filter:blur(18px) saturate(.9)!important;
}
html.theme-light body .infoCard{
  color:#17201b!important;
  border-color:rgba(28,40,32,.10)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(245,248,245,.98))!important;
  box-shadow:0 30px 90px rgba(26,40,31,.14),inset 0 1px rgba(255,255,255,.98)!important;
}
html.theme-light body .infoText{color:rgba(24,32,27,.72)!important}
html.theme-light body .languageToast{
  background:rgba(255,255,255,.96)!important;
  color:#18201b!important;
  border-color:rgba(30,42,34,.10)!important;
  box-shadow:0 16px 45px rgba(30,46,36,.10)!important;
}

/* Adaptive intro / intro-animation
   The semantic home is intentionally gated until the welcome overlay is armed.
   This prevents first-paint flashes of the search UI on fast/slow hosts alike. */
.stage,.utilityStack{transition:opacity .62s cubic-bezier(.22,.61,.36,1)}
html.intro-active .stage,
html.intro-active .utilityStack{opacity:0;pointer-events:none}
html.intro-active.intro-exiting .stage,
html.intro-active.intro-exiting .utilityStack{opacity:1;transition-delay:.14s}
.intro{
  position:fixed;inset:0;z-index:9999;
  display:grid;place-items:center;
  overflow:hidden;
  opacity:1;visibility:visible;
  transition:opacity .72s cubic-bezier(.22,.61,.36,1),visibility 0s linear .72s;
}
.intro.exit{opacity:0;pointer-events:none}
.intro.hide{opacity:0;visibility:hidden;pointer-events:none}
.intro.skip-transition{transition:none!important}
html.theme-dark body .intro{
  background:
    radial-gradient(900px 500px at 50% 40%,rgba(255,255,255,.04),transparent 68%),
    linear-gradient(180deg,#0f1211 0%,#111413 100%);
  color:#f7f9f6;
}
html.theme-light body .intro{
  background:
    radial-gradient(900px 500px at 50% 40%,rgba(22,40,30,.035),transparent 68%),
    linear-gradient(180deg,#fbfcfa 0%,#f4f6f2 100%);
  color:#141816;
}
.introCenter{
  position:relative;
  z-index:4;
  text-align:center;
  width:min(1000px,90vw)
}
.introStack{
  display:grid;
  gap:10px;
  margin-top:0;
}
.introStack div{
  opacity:0;
  transform:translateY(18px);
  animation:stIn .8s ease forwards;
}
.introStack div:nth-child(1){animation-delay:.15s}
.introStack div:nth-child(2){animation-delay:.35s}
.introStack div:nth-child(3){animation-delay:.55s}
.introStack div:nth-child(4){animation-delay:.75s}
.introStack .big{
  font-size:clamp(28px,5.8vw,60px);
  font-weight:760;
  letter-spacing:-.05em;
}
.introStack .mid{
  font-size:clamp(18px,3vw,34px);
}
html.theme-dark body .introStack .mid{color:rgba(247,249,246,.82)}
html.theme-light body .introStack .mid{color:rgba(20,24,22,.66)}
.introSub{
  margin-top:18px;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
html.theme-dark body .introSub{color:rgba(247,249,246,.56)}
html.theme-light body .introSub{color:rgba(20,24,22,.44)}
@keyframes stIn{to{opacity:1;transform:none}}
