/* re-store prototype — Apple-style premium base */
:root {
  --ink: #1d1d1f;
  --ink-soft: #6e6e73;
  --line: #d2d2d7;
  --bg: #ffffff;
  --bg-soft: #f5f5f7;
  --accent: #0071e3;
  --accent-press: #0059b3;
  --ok: #1d9d6c;
}

* { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

html { scroll-behavior: smooth; }

body {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display",
    "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--ink);
  background: var(--bg);
  letter-spacing: -0.01em;
}

h1, h2, h3, .display { letter-spacing: -0.025em; }

/* Nav */
[data-nav] {
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid transparent;
  transition: border-color .25s ease, background .25s ease;
}
[data-nav].nav-scrolled { border-bottom-color: var(--line); }

/* Buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  border-radius: 980px; font-weight: 500; line-height: 1;
  transition: transform .12s ease, background .2s ease, opacity .2s ease;
  white-space: nowrap;
}
.btn:active { transform: scale(.97); }
.btn-primary { background: var(--accent); color: #fff; }
.btn-primary:hover { background: var(--accent-press); }
.btn-dark { background: var(--ink); color: #fff; }
.btn-dark:hover { opacity: .85; }
.btn-ghost { background: transparent; color: var(--accent); }
.btn-ghost:hover { text-decoration: underline; }
.btn-soft { background: #e8e8ed; color: var(--ink); }
.btn-soft:hover { background: #dcdce1; }

/* Reveal on scroll */
[data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
[data-reveal].revealed { opacity: 1; transform: none; }

/* Cards */
.card { background: #fff; border: 1px solid var(--line); border-radius: 1.25rem; }
.card-soft { background: var(--bg-soft); border-radius: 1.25rem; }

/* Chip */
.chip {
  border: 1px solid var(--line); border-radius: 980px; padding: .5rem 1rem;
  font-size: .9rem; cursor: pointer; transition: all .15s ease; background:#fff;
}
.chip:hover { border-color: var(--ink); }
.chip.is-active { background: var(--ink); color: #fff; border-color: var(--ink); }

/* Chat */
.bubble { max-width: 85%; border-radius: 1.25rem; padding: .75rem 1rem; line-height: 1.45; }
.bubble-ai { background: var(--bg-soft); border-bottom-left-radius: .35rem; }
.bubble-user { background: var(--accent); color: #fff; border-bottom-right-radius: .35rem; }

.typing span {
  width: 7px; height: 7px; background: #b0b0b8; border-radius: 50%; display: inline-block;
  animation: blink 1.3s infinite both;
}
.typing span:nth-child(2) { animation-delay: .2s; }
.typing span:nth-child(3) { animation-delay: .4s; }
@keyframes blink { 0%, 60%, 100% { opacity: .25; } 30% { opacity: 1; } }

/* Hero gradient text accent */
.grad-ink {
  background: linear-gradient(120deg, #1d1d1f 0%, #434346 60%, #6e6e73 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

.hide-scroll::-webkit-scrollbar { display: none; }
.hide-scroll { -ms-overflow-style: none; scrollbar-width: none; }
