:where(a, button, [role="button"], [role="menuitem"], summary, input, select, textarea):focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 4px;
}
html[data-theme="dark"] :where(a, button, [role="button"], [role="menuitem"], summary, input, select, textarea):focus-visible {
  outline-color: #D3C034;
}

form#entry textarea:focus-visible { outline: none; }

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

@media (max-width: 639px) {
  section.py-24, section.py-32 { padding-top: 3rem; padding-bottom: 3rem; }
  section.py-20 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
  section.pt-28 { padding-top: 4.5rem; }
  section.pb-20 { padding-bottom: 2.5rem; }
}

@media (max-width: 720px) {
  .entry-row .hint { display: none; }
}

@media (max-width: 639px) {
  .lg-links a { min-height: 44px; }
}

.nav-chat-pill .ncp-ico { display: none; }

@media (max-width: 639px) {

  .nt-bar { padding-inline: 14px; }
  .nt-bar > div { gap: 8px; }

  html body a.nav-chat-pill {
    display: inline-flex !important;
    width: 44px; height: 44px; padding: 0; gap: 0;
    justify-content: center; flex: 0 0 auto;
    background: var(--accent);
  }
  html body a.nav-chat-pill:hover { background: #047857; }
  html body a.nav-chat-pill .ncp-ico { display: inline-flex; }

  html body a.nav-chat-pill .ncp-txt,
  html body a.nav-chat-pill .ncp-arw {
    position: absolute; width: 1px; height: 1px;
    overflow: hidden; clip-path: inset(50%); white-space: nowrap;
  }
}

@media (max-width: 639px) {
  #compare > div > .grid,
  #learn > div > .grid,
  #glossary > div > .grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 78%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline-start: 24px;

    margin-inline: -24px;
    padding-inline: 24px;
    padding-bottom: 2px;
    scrollbar-width: none;
  }
  #compare > div > .grid::-webkit-scrollbar,
  #learn > div > .grid::-webkit-scrollbar,
  #glossary > div > .grid::-webkit-scrollbar { display: none; }

  #compare > div > .grid > a,
  #learn > div > .grid > a,
  #glossary > div > .grid > a { scroll-snap-align: start; }
}

@media (max-width: 639px) {
  #features .grid { gap: 10px; }

  #features .feature-card {
    padding: 16px 18px;
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 12px;
    row-gap: 7px;
    align-items: center;
  }
  #features .feature-card > div:first-child {
    width: 34px; height: 34px; margin-bottom: 0;
    grid-column: 1; grid-row: 1;
  }
  #features .feature-card > h3 {
    margin-bottom: 0;
    grid-column: 2; grid-row: 1;
  }
  #features .feature-card > p {
    grid-column: 1 / -1; grid-row: 2;
  }
}

.pick-label,
.promo-disc, .promo-card .promo-disc, .promo-inline .promo-disc,
.bonus-bar .bonus-sub,
.ht-tag,
.app-banner-text span,
#chatList .chat-item .ci-time, #chatList .chat-item .ci-del.confirming,
aside.sidebar .uid-line, aside.sidebar button.new-chat,
.continue-divider, .bubble .tag, .bubble details.think summary,
.meta, .markdown-body .copy-code, .attach-chip .ac-st,
.turn-control label, .hint, kbd,
.ns-label, .ns-chat-tm,
.tr-chip, .nt-tag, .nt-metric .k, .nt-card .kx, .nt-chapter-kicker,
.article-kicker, .article-toc-h, .related-h, .product-cta-label, .product-cta-disc,
.prose-nt .nt-kicker, .hub-card-meta,
.pick-txt, .pick-txt span, .pick-sub, .pick-x,
.turn-control span {
  font-size: 12px !important;
}

.bonus-bar .bonus-cta, .avatar { font-size: 12.5px !important; }

@media (max-width: 639px) {

  .entry-inner {
    flex-wrap: wrap;
    align-items: center;
    padding: 8px 10px 6px;
    row-gap: 2px;
  }
  .entry-inner > textarea {
    flex: 1 1 100%;
    order: -1;
    width: 100%;
    min-height: 52px;
    padding: 8px 6px 4px;
    max-height: none;
  }
  .entry-inner > button.attach-btn { order: 1; }
  .entry-inner > button.mic-btn    { order: 2; }
  .entry-inner > button.go,
  .entry-inner > button.stop       { order: 3; margin-inline-start: auto; }

  .entry-inner.has-text > button.mic-btn { display: none; }
}

@media (max-width: 360px) {
  .nt-bar { padding-inline: 10px; }
  .nt-bar > div { gap: 6px; }

  html body header { padding-inline: 12px; }
  html body header .header-actions { gap: 6px; }
}

@media (max-width: 639px) {

  footer .gap-6 > a { min-height: 44px; display: inline-flex; align-items: center; }
  footer nav.nt-legal a { min-height: 44px; }

  .nt-bar > a { min-height: 44px; display: inline-flex; align-items: center; }
  html body .lang-trigger { min-height: 44px; }

  .send-btn, #goBtn, #stopBtn { position: relative; }
  .send-btn::after, #goBtn::after, #stopBtn::after {
    content: ""; position: absolute; inset: -4px; border-radius: 50%;
  }

  #shuffleBtn, a.text-sm.font-medium.text-emerald-700 { position: relative; }

  #shuffleBtn::after, a.text-sm.font-medium.text-emerald-700::after {
    content: ""; position: absolute;
    top: -18px; bottom: -8px; left: -10px; right: -10px;
  }
}
