@font-face {
  font-family: "Lekton";
  src: url("/Lekton-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

html, body {
  font-family: "Lekton", ui-monospace, "SFMono-Regular", Menlo, monospace;
  -webkit-font-smoothing: antialiased;
  background: #ffffff;
  color: #111827;
}

.font-lekton { font-family: "Lekton", ui-monospace, monospace; }

.lekton-subtle-stroke {
  -webkit-text-stroke: 0.25px currentColor;
  text-stroke: 0.25px currentColor;
}

/* Glassmorphism card for the composer */
.glassmorphism {
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(14px) saturate(160%);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  border: 1px solid rgba(255, 255, 255, 0.6);
  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.glass-shine {
  position: relative;
  overflow: hidden;
}

.glass-shine::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 30%,
    rgba(255, 255, 255, 0.35) 50%,
    rgba(255, 255, 255, 0) 70%
  );
  transform: translateX(-100%);
  animation: glass-shine 6s ease-in-out infinite;
  pointer-events: none;
}

@keyframes glass-shine {
  0%   { transform: translateX(-100%); }
  60%  { transform: translateX(100%); }
  100% { transform: translateX(100%); }
}

/* Hero backdrop */
.hero-bg {
  background:
    radial-gradient(1200px 600px at 80% 10%, rgba(120, 113, 108, 0.18), transparent 60%),
    radial-gradient(900px 500px at 10% 90%, rgba(245, 158, 11, 0.10), transparent 60%),
    linear-gradient(180deg, #fafaf9 0%, #f5f5f4 100%);
}

/* Chat bubbles */
.bubble-user {
  background: #111827;
  color: #f9fafb;
  border-radius: 14px 14px 2px 14px;
}
.bubble-assistant {
  background: rgba(255, 255, 255, 0.85);
  color: #111827;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 14px 14px 14px 2px;
}

/* ASCII art block */
.ascii-art {
  white-space: pre;
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: 9px;
  line-height: 1.05;
  color: #1f2937;
  letter-spacing: 0;
}

/* Smooth scrolling for anchor links */
html { scroll-behavior: smooth; }

/* Composer messages area scroll */
.composer-scroll {
  scrollbar-width: thin;
  scrollbar-color: rgba(0,0,0,0.2) transparent;
}
.composer-scroll::-webkit-scrollbar { width: 6px; }
.composer-scroll::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.15); border-radius: 3px; }
