/* LotThread landing page - base styles and keyframes.
   (Ported from the original design's <helmet> <style> block.
   Component-level styling lives inline on the elements, matching the source.) */

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #F7F8F5; }
a { color: #123C2B; text-decoration: none; }
a:hover { color: #166b41; }
::selection { background: #77E6A1; color: #111814; }
.lt-skip {
  position: fixed; left: 16px; top: 12px; z-index: 2000;
  padding: 10px 14px; border-radius: 9px; background: #123C2B; color: #fff;
  font: 600 14px/1.2 'Geist', system-ui, sans-serif;
  transform: translateY(-160%); transition: transform .15s ease;
}
.lt-skip:focus { transform: translateY(0); color: #fff; }
:focus-visible { outline: 3px solid #50C878; outline-offset: 3px; }
button:focus-visible, summary:focus-visible, a:focus-visible { border-radius: 6px; }

@keyframes ltNode {
  0%, 22%, 100% { box-shadow: 0 1px 2px rgba(17,24,20,.06); border-color: #DDE3DF; }
  9% { box-shadow: 0 0 0 3px rgba(119,230,161,.22), 0 8px 18px rgba(80,200,120,.18); border-color: #50C878; }
}
@keyframes ltSpark {
  0% { top: -12%; opacity: 0; }
  12% { opacity: 1; }
  88% { opacity: 1; }
  100% { top: 104%; opacity: 0; }
}
@keyframes ltTraced {
  0%, 68% { opacity: .4; transform: scale(.97); }
  82% { opacity: 1; transform: scale(1.04); box-shadow: 0 0 0 5px rgba(119,230,161,.22); }
  100% { opacity: 1; transform: scale(1); box-shadow: 0 6px 18px rgba(80,200,120,.2); }
}
@keyframes ltPop {
  from { opacity: 0; transform: translateY(10px) scale(.98); }
  to { opacity: 1; transform: none; }
}
@keyframes ltDash { to { stroke-dashoffset: 0; } }
@keyframes ltFloatGrid { from { background-position: 0 0; } to { background-position: 0 -48px; } }

details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details [data-faq-chev] { transition: transform .2s ease; }
details[open] [data-faq-chev] { transform: rotate(45deg); }

@media (max-width: 760px) {
  [data-tour-grid] { grid-template-columns: 1fr !important; }
  button, a { min-height: 44px; }
}

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