/* FindAurora visual polish — presentation only. No feature or data behavior. */
:root{
  --fa-ease:cubic-bezier(.22,.8,.24,1);
  --fa-ease-soft:cubic-bezier(.25,.7,.25,1);
  --fa-fast:150ms;
  --fa-med:240ms;
  --fa-slow:360ms;
  --fa-focus:rgba(121,239,176,.34);
}

html{
  scroll-behavior:smooth;
  -webkit-tap-highlight-color:transparent;
}
body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Crisp, consistent interactive feedback */
a,button,input,select,.btn,.cta,.primary,.ghost,.info,.play,.layer-pill,
.fa-nav-item,.fa-sheet-tool,.fa-lang-choice,.fa-weather-menu-row,
.fa-data-status-summary,.top-menu-btn,.summary-close,.summary-open{
  transition:
    transform var(--fa-fast) var(--fa-ease),
    opacity var(--fa-fast) var(--fa-ease),
    border-color var(--fa-med) var(--fa-ease),
    background-color var(--fa-med) var(--fa-ease),
    box-shadow var(--fa-med) var(--fa-ease),
    color var(--fa-med) var(--fa-ease);
}

button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--fa-focus);
  outline-offset:3px;
}

/* Surfaces gain depth without changing layout */
.panel,.premium-section,.guide-section,.score-card,.decision-card,.premium-lock,
.night-card,.national-summary,.info-section,.info-card,.alert-card,
.timeline-shell,.summary-card,.card,.infocard,.weather-warning-summary,
.fa-data-status-summary{
  transition:
    transform var(--fa-med) var(--fa-ease),
    border-color var(--fa-med) var(--fa-ease),
    box-shadow var(--fa-med) var(--fa-ease),
    background-color var(--fa-med) var(--fa-ease),
    opacity var(--fa-med) var(--fa-ease);
  will-change:transform;
}

@media (hover:hover) and (pointer:fine){
  .panel:hover,.night-card:hover,.national-summary:hover,.info-section:hover,.info-card:hover,.alert-card:hover{
    transform:translateY(-2px);
    box-shadow:0 24px 70px rgba(0,0,0,.24);
    border-color:rgba(255,255,255,.14);
  }
  .spot:hover,.condition-row>div:hover,.night-times>div:hover,.telemetry>div:hover,.skytiles>div:hover,.day:hover{
    transform:translateY(-1px);
    border-color:rgba(255,255,255,.13);
    background-color:rgba(255,255,255,.04);
  }
  .cta:hover,.primary:hover,.alert-submit:hover,.play:hover{
    transform:translateY(-1px);
    box-shadow:0 10px 28px rgba(0,0,0,.24);
  }
  .ghost:hover,.btn:hover,.dashboard-link:hover,.fa-language:hover,.top-menu-btn:hover,.info:hover,.summary-open:hover{
    transform:translateY(-1px);
    border-color:rgba(255,255,255,.22);
    background-color:rgba(255,255,255,.07);
  }
  .fa-sheet-tool:hover,.fa-sheet-section-card>a:hover,.fa-lang-choice:hover{
    transform:translateY(-1px);
  }
}

button:active,a:active,.cta:active,.primary:active,.play:active,.fa-nav-item:active,.fa-sheet-tool:active{
  transform:scale(.985);
}

/* Small cards and controls */
.spot,.condition-row>div,.night-times>div,.telemetry>div,.skytiles>div,.day,
.fa-sheet-tool,.fa-sheet-section-card>a{
  transition:
    transform var(--fa-fast) var(--fa-ease),
    border-color var(--fa-med) var(--fa-ease),
    background-color var(--fa-med) var(--fa-ease),
    box-shadow var(--fa-med) var(--fa-ease);
}

/* Navigation feels more like a native app */
.fa-mobile-nav{
  box-shadow:0 -12px 34px rgba(0,0,0,.16);
}
.fa-nav-item{
  border-radius:14px;
}
.fa-nav-item.active{
  text-shadow:0 0 18px rgba(121,239,176,.18);
}
.fa-nav-icon{
  transition:transform var(--fa-med) var(--fa-ease),opacity var(--fa-med) var(--fa-ease);
}
.fa-nav-item.active .fa-nav-icon{
  transform:translateY(-1px);
}
.fa-more-sheet{
  transition:opacity var(--fa-med) var(--fa-ease)!important;
}
.fa-sheet-backdrop{
  transition:background-color var(--fa-med) var(--fa-ease);
}
.fa-sheet-panel{
  transition:transform var(--fa-slow) var(--fa-ease)!important;
  box-shadow:0 -26px 80px rgba(0,0,0,.42);
}
.fa-more-sheet.open .fa-sheet-panel{
  transform:translateY(0) translateZ(0)!important;
}

/* Modal / sheet entry motion */
.modal.open,.infobox.open,.fa-weather-menu-sheet:not([hidden]),.fa-data-status-sheet:not([hidden]){
  animation:faBackdropIn var(--fa-med) var(--fa-ease) both;
}
.modal.open .card,.infobox.open .infocard,
.fa-weather-menu-sheet:not([hidden]) .fa-weather-menu-sheet-panel,
.fa-data-status-sheet:not([hidden]) .fa-data-status-panel{
  animation:faSheetIn var(--fa-slow) var(--fa-ease) both;
}
@keyframes faBackdropIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes faSheetIn{
  from{opacity:0;transform:translateY(18px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

/* Premium and warning status surfaces */
.weather-warning-summary,.fa-data-status-summary{
  box-shadow:0 12px 34px rgba(0,0,0,.14);
}
.weather-warning-summary:active,.fa-data-status-summary:active{
  transform:scale(.992);
}

/* Loading feels deliberate instead of abrupt */
.skeleton div{
  position:relative;
  overflow:hidden;
}
.skeleton div:after{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-115%);
  background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.09) 45%,transparent 70%);
  animation:faShimmer 1.7s ease-in-out infinite;
}
@keyframes faShimmer{
  55%,100%{transform:translateX(115%)}
}
.guide-loading-text:before,#insight.loading:before{
  animation-duration:1.35s!important;
}

/* Dashboard chart feedback */
.charttip{
  transition:opacity var(--fa-fast) var(--fa-ease),transform var(--fa-fast) var(--fa-ease);
}
.charttip.show{
  animation:faTipIn var(--fa-fast) var(--fa-ease) both;
}
@keyframes faTipIn{
  from{opacity:0;transform:translateY(4px)}
  to{opacity:1;transform:translateY(0)}
}

/* Map/weather controls */
.timeline-shell,.cloud-legend,.layer-pill,.dashboard-link,.fa-language,.top-menu-btn,.summary-open{
  backdrop-filter:blur(18px) saturate(1.08);
  -webkit-backdrop-filter:blur(18px) saturate(1.08);
}
.timeline-shell input[type=range]::-webkit-slider-thumb{
  transition:transform var(--fa-fast) var(--fa-ease),box-shadow var(--fa-med) var(--fa-ease);
}
.timeline-shell input[type=range]:active::-webkit-slider-thumb{
  transform:scale(1.14);
  box-shadow:0 4px 18px rgba(0,0,0,.38);
}

/* Home map cards and premium CTA */
.summary-card{
  box-shadow:0 20px 58px rgba(0,0,0,.22);
}
.home-premium-cta{
  transition:transform var(--fa-med) var(--fa-ease),box-shadow var(--fa-med) var(--fa-ease),filter var(--fa-med) var(--fa-ease)!important;
}
@media (hover:hover) and (pointer:fine){
  .home-premium-cta:hover{
    filter:saturate(1.04) brightness(1.02);
  }
}

/* Gentle content arrival; only visual and only on first paint */
.hero,.outlook-header,.info-hero{
  animation:faContentIn 420ms var(--fa-ease) both;
}
@keyframes faContentIn{
  from{opacity:0;transform:translateY(7px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:760px){
  .panel:hover,.night-card:hover,.national-summary:hover,.info-section:hover,.info-card:hover,.alert-card:hover{
    transform:none;
  }
  .fa-sheet-panel{
    will-change:transform;
  }
}

/* Respect motion preferences completely. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}
