/* small overrides on top of Tailwind + DaisyUI */

/* No timed fades on interactive chrome: hover, focus, borders, and theme switches snap immediately.
   (Keyframe animations such as DaisyUI loading indicators are unchanged.) */
*,
*::before,
*::after {
  transition-duration: 0s !important;
  transition-delay: 0s !important;
}

/* Sidebar open (mobile drawer): logo lives in the drawer only */
#nav-drawer:checked ~ .drawer-content #navbar-brand {
  display: none;
}

.breadcrumbs-header {
  padding: 0;
}

.breadcrumbs-header ul {
  flex-wrap: nowrap;
}

@media (min-width: 1024px) {
  .breadcrumbs-header ul {
    overflow: hidden;
  }
}

/* DaisyUI badges: avoid mid-word wrapping when a flex row squeezes pill width (mobile). */
.badge {
  white-space: nowrap;
}

html {
  scroll-behavior: smooth;
}

.prose pre {
  background: oklch(var(--b2));
  color: oklch(var(--bc));
  border: 1px solid oklch(var(--b3));
}

/* README / prompt markdown: code fences stand out from the page chrome */
.markdown-target pre {
  background: color-mix(in oklch, oklch(var(--p)) 18%, oklch(var(--b2)));
  border: 1px solid color-mix(in oklch, oklch(var(--p)) 38%, oklch(var(--b3)));
  box-shadow: 0 1px 0 oklch(var(--bc) / 0.04);
}

.prose code {
  background: oklch(var(--b2) / 0.6);
  padding: 0.1em 0.35em;
  border-radius: 0.35rem;
  font-size: 0.9em;
  font-weight: 500;
}

.prose pre code {
  background: transparent;
  padding: 0;
}

.prose a {
  color: oklch(var(--p));
}

.sidebar-link.active {
  background-color: oklch(var(--b3));
  color: oklch(var(--p));
  font-weight: 600;
}

.sidebar-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.6rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  color: oklch(var(--bc) / 0.85);
  cursor: pointer;
  text-decoration: none;
  width: 100%;
  text-align: left;
  min-width: 0;
}

.sidebar-link > svg,
.sidebar-link > .sidebar-badge,
.sidebar-link > .sidebar-harness-icon-slot {
  flex: 0 0 auto;
}

.sidebar-link > .sidebar-slug {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sidebar-badge {
  display: inline-block;
  padding: 0.05rem 0.4rem;
  border-radius: 9999px;
  border: 1px solid oklch(var(--bc) / 0.25);
  background: oklch(var(--b1));
  color: oklch(var(--bc) / 0.7);
  font-size: 0.65rem;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.02em;
  white-space: nowrap;
  max-width: 5rem;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: lowercase;
}

.sidebar-link.active .sidebar-badge {
  border-color: oklch(var(--p) / 0.5);
  color: oklch(var(--p));
}

/* Harness logos: fixed box so labels align; sidebar shows icon only (no pill). */
.harness-icon-slot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: oklch(var(--bc) / 0.72);
}

.harness-icon-slot--sm {
  width: 1.125rem;
  height: 1.125rem;
}

.harness-icon-slot--md {
  width: 1.25rem;
  height: 1.25rem;
}

.sidebar-harness-icon-slot {
  color: oklch(var(--bc) / 0.68);
}

.sidebar-link.active .sidebar-harness-icon-slot {
  color: oklch(var(--p));
}

.solution-row-harness-icon {
  color: oklch(var(--bc) / 0.55);
}

.group:hover .solution-row-harness-icon {
  color: oklch(var(--bc) / 0.75);
}

.sidebar-link:hover {
  background-color: oklch(var(--b3) / 0.6);
  color: oklch(var(--bc));
}

.sidebar-eval-header {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: oklch(var(--bc) / 0.5);
  padding: 0.75rem 0.6rem 0.25rem;
  font-weight: 600;
}

/* Tighter vertical rhythm than default Tailwind Typography (prose) */
.markdown-target {
  line-height: 1.55;
}

.markdown-target :is(p, ul, ol, blockquote, pre, table) {
  margin-top: 0.55em;
  margin-bottom: 0.55em;
}

.markdown-target :is(p, ul, ol, blockquote, pre, table):first-child {
  margin-top: 0;
}

.markdown-target :is(p, ul, ol, blockquote, pre, table):last-child {
  margin-bottom: 0;
}

.markdown-target :is(h1, h2, h3, h4, h5, h6) {
  margin-top: 0.85em;
  margin-bottom: 0.4em;
  line-height: 1.28;
}

.markdown-target :is(h1, h2, h3, h4, h5, h6):first-child {
  margin-top: 0;
}

.markdown-target :is(ul, ol) {
  padding-left: 1.45em;
  margin-top: 0.45em;
  margin-bottom: 0.45em;
}

.markdown-target li {
  margin-top: 0.15em;
  margin-bottom: 0.15em;
}

.markdown-target li > :is(p, ul, ol) {
  margin-top: 0.35em;
  margin-bottom: 0.35em;
}

.markdown-target hr {
  margin-top: 1em;
  margin-bottom: 1em;
}

.markdown-target h1,
.markdown-target h2,
.markdown-target h3 {
  scroll-margin-top: 5rem;
}
