/* University of Tennessee palette: Tennessee Orange #FF8200, Smokey Gray #58595B.
   Bright orange fails contrast as text on white (2.6:1), so it's used for fills,
   borders and icons; text links use a deeper orange in light mode. */
:root {
  --ut-orange: #FF8200;
  --ut-smokey: #58595B;
  --kql-nav: var(--ut-smokey);
  --kql-accent: #B35C00;         /* orange that reads as text on light backgrounds (4.6:1) */
  --kql-on-orange: #1f1f1f;      /* text on orange fills */
}
[data-bs-theme=light] {
  --bs-link-color: #B35C00; --bs-link-color-rgb: 179, 92, 0;
  --bs-link-hover-color: #8a4700; --bs-link-hover-color-rgb: 138, 71, 0;
}
[data-bs-theme=dark] {
  --kql-accent: #FF9A33;
  --bs-link-color: #FF9A33; --bs-link-color-rgb: 255, 154, 51;
  --bs-link-hover-color: #FFB366; --bs-link-hover-color-rgb: 255, 179, 102;
}
body { background: var(--bs-tertiary-bg); accent-color: var(--ut-orange); }  /* native radios/checkboxes */
.navbar-kql { background: var(--kql-nav); border-bottom: 3px solid var(--ut-orange); }
.navbar-kql .navbar-brand { color: #fff; }
.brand-mark { color: var(--ut-orange); font-family: var(--bs-font-monospace); font-weight: 700; }
.nav-kql-link { color: #e9e9ea; text-decoration: none; font-size: .9rem; }
.nav-kql-link:hover, .nav-kql-link.active { color: #fff; }
.nav-kql-link.active { border-bottom: 2px solid var(--ut-orange); }
.nav-kql-muted { color: #dcdcdd; }

/* Bootstrap primary and focus states in orange */
.btn-primary {
  --bs-btn-color: var(--kql-on-orange); --bs-btn-bg: var(--ut-orange); --bs-btn-border-color: var(--ut-orange);
  --bs-btn-hover-color: var(--kql-on-orange); --bs-btn-hover-bg: #E67500; --bs-btn-hover-border-color: #E67500;
  --bs-btn-active-color: var(--kql-on-orange); --bs-btn-active-bg: #CC6800; --bs-btn-active-border-color: #CC6800;
  --bs-btn-disabled-color: var(--kql-on-orange); --bs-btn-disabled-bg: var(--ut-orange); --bs-btn-disabled-border-color: var(--ut-orange);
  --bs-btn-focus-shadow-rgb: 255, 130, 0; font-weight: 600;
}
.form-control:focus, .form-select:focus, .form-check-input:focus {
  border-color: #FFB366; box-shadow: 0 0 0 .25rem rgba(255, 130, 0, .25);
}
.form-check-input:checked { background-color: var(--ut-orange); border-color: var(--ut-orange); }

.tag-chip {
  background: var(--bs-secondary-bg); color: var(--bs-body-color); font-weight: 500;
  text-decoration: none; border: 1px solid var(--bs-border-color);
}
.tag-chip.active, a.tag-chip:hover { background: var(--ut-orange); color: var(--kql-on-orange); border-color: var(--ut-orange); }
.star { color: var(--bs-secondary-color); text-decoration: none; font-size: 1.1rem; line-height: 1; }
.star.on { color: #d69e2e; }
.min-w-0 { min-width: 0; }
.kql-first-line { color: var(--bs-secondary-color); }

/* Code block (always dark, like an editor) */
.kql-block { position: relative; background: #0f1724; color: #e2e8f0; border-radius: .5rem; padding: 1rem 1.1rem; min-height: 4rem; }
.kql-block pre { white-space: pre-wrap; word-break: break-word; font-size: .875rem; line-height: 1.55; color: inherit; }
.copy-float { position: absolute; top: .5rem; right: .5rem; }
.k-kw { color: #63b3ed; }
.k-fn { color: #f6ad55; }
.k-str { color: #9ae6b4; }
.k-num { color: #fbb6ce; }
.k-com { color: #718096; font-style: italic; }
.k-pipe { color: #a0aec0; font-weight: 700; }
.k-ph { background: #744210; color: #fefcbf; border-radius: .2rem; padding: 0 .15rem; }
.kql-input { font-size: .875rem; }

/* Builder */
.b-section { background: var(--bs-body-bg); border: 1px solid var(--bs-border-color); border-radius: .5rem; padding: .9rem 1rem; margin-bottom: .9rem; }
.b-head { font-size: .95rem; font-weight: 600; margin-bottom: .6rem; }
.b-row { display: flex; gap: .4rem; align-items: center; margin-bottom: .4rem; }
.filter-row [data-k="column"] { flex: 0 0 34%; }
.filter-row [data-k="op"] { flex: 0 0 24%; }
.agg-row [data-k="func"] { flex: 0 0 8rem; }
.b-row .btn-link { text-decoration: none; }
.preview-sticky { position: sticky; top: 1rem; }
@media (max-width: 575.98px) {
  .filter-row { flex-wrap: wrap; }
  .filter-row [data-k="column"], .filter-row [data-k="op"] { flex: 1 1 45%; }
}
.bin-input { width: 7rem; }
.b-all-cols { font-size: .875rem; padding: .3rem .6rem; border: 1px dashed var(--bs-border-color); border-radius: .375rem;
  color: var(--bs-secondary-color); margin-bottom: .4rem; }
.b-all-cols[hidden] { display: none; }
/* Prompts in code-font inputs shouldn't look like a typed value */
.font-monospace::placeholder { font-family: var(--bs-body-font-family); font-style: italic; }

/* Builder suggestion dropdown (picker.js) */
.kql-pick { position: absolute; z-index: 1080; max-height: 18rem; overflow-y: auto; padding: .25rem 0;
  background: var(--bs-body-bg); border: 1px solid var(--bs-border-color); border-radius: .375rem;
  box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .25); font-size: .875rem; }
.kql-pick-group { padding: .35rem .75rem .15rem; font-size: .75rem; font-weight: 600; text-transform: uppercase;
  letter-spacing: .03em; color: var(--bs-secondary-color); }
.kql-pick-item { display: flex; justify-content: space-between; gap: 1rem; padding: .25rem .75rem; cursor: pointer; }
.kql-pick-item:hover, .kql-pick-item.active { background: var(--bs-secondary-bg); }
.kql-pick-label { color: var(--bs-secondary-color); white-space: nowrap; }

/* IOC hunt chips (ioc.js) */
.ioc-chip { display: inline-flex; align-items: center; gap: .35rem; max-width: 100%; padding: .1rem .2rem .1rem .55rem;
  border: 1px solid var(--bs-border-color); border-radius: 1rem; background: var(--bs-tertiary-bg); font-size: .8rem; }
.ioc-chip .font-monospace { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ioc-chip.off { opacity: .45; text-decoration: line-through; }
.ioc-note { color: var(--bs-warning-text-emphasis); font-size: .72rem; white-space: nowrap; }
.ioc-x { border: 0; background: none; color: var(--bs-secondary-color); padding: 0 .3rem; line-height: 1; font-size: 1rem; }
.ioc-x:hover { color: var(--bs-danger); }
.ioc-ago-n { max-width: 5rem; }