/* AnonSearch — modern theme layer on top of the "simple" theme */

:root {
  --as-accent: #6366f1;
  --as-accent-2: #a855f7;
  --as-accent-soft: rgba(99, 102, 241, .12);
  --as-radius: 16px;
  --as-radius-sm: 10px;
  --as-font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  --as-bg: #f5f6fb;
  --as-bg-glow-1: rgba(99, 102, 241, .16);
  --as-bg-glow-2: rgba(168, 85, 247, .12);
  --as-surface: #ffffff;
  --as-surface-2: #f0f1f8;
  --as-glass: rgba(255, 255, 255, .72);
  --as-border: rgba(24, 28, 60, .09);
  --as-text: #181b2e;
  --as-text-dim: #5b6079;
  --as-link: #4338ca;
  --as-url: #0f766e;
  --as-shadow: 0 1px 2px rgba(24, 28, 60, .05), 0 8px 24px -12px rgba(24, 28, 60, .18);
  --as-shadow-hover: 0 2px 4px rgba(24, 28, 60, .06), 0 16px 36px -14px rgba(67, 56, 202, .35);

  /* map onto the simple theme's variables */
  --color-base-font: var(--as-text);
  --color-base-font-rgb: 24, 27, 46;
  --color-base-background: var(--as-bg);
  --color-base-background-mobile: var(--as-bg);
  --color-url-font: var(--as-url);
  --color-url-visited-font: var(--as-url);
  --color-header-background: var(--as-glass);
  --color-header-border: var(--as-border);
  --color-footer-background: transparent;
  --color-footer-border: var(--as-border);
  --color-sidebar-border: var(--as-border);
  --color-sidebar-font: var(--as-text);
  --color-sidebar-background: var(--as-surface);
  --color-btn-background: var(--as-accent);
  --color-btn-font: #fff;
  --color-search-border: var(--as-border);
  --color-search-shadow: var(--as-shadow);
  --color-search-background: var(--as-surface);
  --color-search-font: var(--as-text);
  --color-search-background-hover: var(--as-accent);
  --color-categories-item-selected-font: var(--as-accent);
  --color-categories-item-border-selected: var(--as-accent);
  --color-autocomplete-font: var(--as-text);
  --color-autocomplete-border: var(--as-border);
  --color-autocomplete-shadow: var(--as-shadow-hover);
  --color-autocomplete-background: var(--as-surface);
  --color-autocomplete-background-hover: var(--as-accent-soft);
  --color-answer-font: var(--as-text);
  --color-answer-background: var(--as-surface);
  --color-result-background: var(--as-surface);
  --color-result-border: var(--as-border);
  --color-result-url-font: var(--as-url);
  --color-result-vim-selected: var(--as-accent-soft);
  --color-result-vim-arrow: var(--as-accent);
  --color-result-link-font: var(--as-link);
  --color-result-link-font-highlight: var(--as-link);
  --color-result-link-visited-font: #7c3aed;
  --color-result-description-highlight-font: var(--as-text);
  --color-result-detail-font: #fff;
  --color-result-publishdate-font: var(--as-text-dim);
  --color-result-engines-font: var(--as-text-dim);
  --color-result-search-url-border: var(--as-border);
  --color-result-search-url-font: var(--as-text);
  --color-result-image-background: var(--as-surface);
  --color-settings-tr-hover: var(--as-accent-soft);
  --color-settings-engine-description-font: var(--as-text-dim);
  --color-toolkit-dialog-border: var(--as-border);
  --color-toolkit-dialog-background: var(--as-surface);
  --color-toolkit-tabs-label-border: transparent;
  --color-toolkit-tabs-section-border: var(--as-border);
  --color-toolkit-select-background: var(--as-surface-2);
  --color-toolkit-select-border: var(--as-border);
  --color-toolkit-select-background-hover: var(--as-accent-soft);
  --color-toolkit-input-text-font: var(--as-text);
  --color-toolkit-checkbox-onoff-on-mark-background: var(--as-accent);
  --color-toolkit-checkbox-input-border: var(--as-accent);
  --color-toolkit-engine-tooltip-border: var(--as-border);
  --color-toolkit-engine-tooltip-background: var(--as-surface);
}

/* ---------- dark ---------- */
html.theme-dark {
  --as-bg: #0a0c14;
  --as-bg-glow-1: rgba(99, 102, 241, .22);
  --as-bg-glow-2: rgba(168, 85, 247, .16);
  --as-surface: #131626;
  --as-surface-2: #1a1e33;
  --as-glass: rgba(14, 16, 28, .72);
  --as-border: rgba(255, 255, 255, .08);
  --as-text: #e8eaf6;
  --as-text-dim: #9aa0bd;
  --as-link: #a5b4fc;
  --as-url: #5eead4;
  --as-accent-soft: rgba(129, 140, 248, .16);
  --as-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px -12px rgba(0, 0, 0, .6);
  --as-shadow-hover: 0 2px 4px rgba(0, 0, 0, .5), 0 16px 36px -14px rgba(99, 102, 241, .45);
  --color-base-font-rgb: 232, 234, 246;
  --color-result-link-visited-font: #c4b5fd;
}
@media (prefers-color-scheme: dark) {
  html.theme-auto {
    --as-bg: #0a0c14;
    --as-bg-glow-1: rgba(99, 102, 241, .22);
    --as-bg-glow-2: rgba(168, 85, 247, .16);
    --as-surface: #131626;
    --as-surface-2: #1a1e33;
    --as-glass: rgba(14, 16, 28, .72);
    --as-border: rgba(255, 255, 255, .08);
    --as-text: #e8eaf6;
    --as-text-dim: #9aa0bd;
    --as-link: #a5b4fc;
    --as-url: #5eead4;
    --as-accent-soft: rgba(129, 140, 248, .16);
    --as-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px -12px rgba(0, 0, 0, .6);
    --as-shadow-hover: 0 2px 4px rgba(0, 0, 0, .5), 0 16px 36px -14px rgba(99, 102, 241, .45);
    --color-base-font-rgb: 232, 234, 246;
    --color-result-link-visited-font: #c4b5fd;
  }
}

/* ---------- base ---------- */
html, body {
  font-family: var(--as-font);
  color: var(--as-text);
  background-color: var(--as-bg);
}
body {
  background-image:
    radial-gradient(900px 500px at 12% -10%, var(--as-bg-glow-1), transparent 60%),
    radial-gradient(800px 500px at 92% -5%, var(--as-bg-glow-2), transparent 60%);
  background-repeat: no-repeat;
  background-attachment: fixed;
  -webkit-font-smoothing: antialiased;
}
::selection { background: var(--as-accent); color: #fff; }
a { transition: color .15s ease; }
* { scrollbar-color: var(--as-border) transparent; }

/* ---------- top nav links ---------- */
#links_on_top {
  display: flex; gap: .4rem; justify-content: flex-end;
  padding: .9rem 1.2rem;
}
#links_on_top a {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .45rem .85rem; border-radius: 999px;
  color: var(--as-text-dim);
  background: var(--as-glass);
  border: 1px solid var(--as-border);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  font-size: .85rem; font-weight: 500; text-decoration: none;
  transition: all .15s ease;
}
#links_on_top a:hover { color: var(--as-accent); border-color: var(--as-accent); transform: translateY(-1px); }

/* ---------- home page ---------- */
.index .title {
  background: none !important;
  min-height: 0;
  margin: 5.5rem auto 2rem;
}
.index h1 {
  visibility: visible !important;
  font-size: clamp(2.6rem, 8vw, 4.4rem);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.1;
  margin: 0;
  background: linear-gradient(135deg, var(--as-accent) 0%, var(--as-accent-2) 60%, #ec4899 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.index #search { max-width: 680px; margin: 0 auto; padding: 0 1rem; }

/* ---------- search box ---------- */
.search_box {
  border: 1px solid var(--as-border) !important;
  border-radius: 999px !important;
  background: var(--as-surface) !important;
  box-shadow: var(--as-shadow);
  overflow: hidden;
  transition: box-shadow .2s ease, border-color .2s ease;
}
.search_box:focus-within {
  border-color: var(--as-accent) !important;
  box-shadow: 0 0 0 4px var(--as-accent-soft), var(--as-shadow-hover);
}
#q {
  font-family: var(--as-font);
  font-size: 1.05rem;
  padding: .85rem 1.3rem !important;
  background: transparent !important;
  color: var(--as-text) !important;
}
#q::placeholder { color: var(--as-text-dim); }
#send_search {
  background: linear-gradient(135deg, var(--as-accent), var(--as-accent-2)) !important;
  color: #fff !important;
  border-radius: 999px !important;
  margin: 4px !important;
  transition: filter .15s ease, transform .15s ease;
}
#send_search:hover { filter: brightness(1.1); }
#send_search:active { transform: scale(.96); }
#clear_search { color: var(--as-text-dim); }
.autocomplete {
  border-radius: var(--as-radius-sm) !important;
  overflow: hidden;
  margin-top: .5rem;
}

/* ---------- results header ---------- */
.results_endpoint #search_header,
.results_endpoint #search {
  background: var(--as-glass);
  -webkit-backdrop-filter: blur(16px) saturate(1.4);
  backdrop-filter: blur(16px) saturate(1.4);
}
.results_endpoint #search {
  border-bottom: 1px solid var(--as-border);
  box-shadow: 0 6px 20px -16px rgba(0, 0, 0, .35);
}
#search_logo svg { border-radius: 8px; }

/* categories as pills */
#categories_container { gap: .35rem; }
.category_button, #categories .category {
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  padding: .4rem .9rem !important;
  color: var(--as-text-dim) !important;
  font-weight: 500;
  transition: all .15s ease;
}
.category_button:hover, #categories .category:hover {
  background: var(--as-accent-soft) !important;
  color: var(--as-accent) !important;
}
.category_button.selected, #categories .category.selected,
#categories input:checked + label {
  background: var(--as-accent-soft) !important;
  color: var(--as-accent) !important;
  border-color: var(--as-accent) !important;
}

/* filters / selects */
.search_filters select, select {
  font-family: var(--as-font);
  border-radius: var(--as-radius-sm) !important;
  border: 1px solid var(--as-border) !important;
  background: var(--as-surface) !important;
  color: var(--as-text) !important;
  padding: .35rem .7rem;
}

/* ---------- results ---------- */
#urls, #results { padding-top: .5rem; }
article.result, .result {
  background: var(--as-surface);
  border: 1px solid var(--as-border) !important;
  border-radius: var(--as-radius) !important;
  box-shadow: var(--as-shadow);
  padding: 1rem 1.25rem !important;
  margin: 0 0 .9rem !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
article.result:hover, .result:hover {
  transform: translateY(-2px);
  box-shadow: var(--as-shadow-hover);
  border-color: color-mix(in srgb, var(--as-accent) 40%, transparent) !important;
}
.result h3 { margin: .25rem 0 .35rem; font-size: 1.15rem; font-weight: 650; letter-spacing: -.01em; }
.result h3 a { color: var(--as-link) !important; text-decoration: none; }
.result h3 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.result .url_wrapper, .result .url_i1, .result .url_i2 { color: var(--as-url) !important; font-size: .82rem; }
.result .content, .result p.content { color: var(--as-text-dim); line-height: 1.6; }
.result .content strong, .result .content b { color: var(--as-text); font-weight: 600; }
.result .engines, .result .highlight { color: var(--as-text-dim); }
.result img.favicon { border-radius: 4px; }
.result-images, .result.result-images {
  padding: .5rem !important; overflow: hidden;
}
.result-images img { border-radius: var(--as-radius-sm); }

/* answers, infobox, sidebar */
.answer, #answers .answer, #sidebar .infobox, .infobox, #suggestions, #corrections,
#sidebar #search_url, #backToTop {
  background: var(--as-surface) !important;
  border: 1px solid var(--as-border) !important;
  border-radius: var(--as-radius) !important;
  box-shadow: var(--as-shadow);
}
.infobox, #sidebar .infobox { padding: 1rem 1.25rem !important; }
.infobox img.infobox_img, .infobox img { border-radius: var(--as-radius-sm); }
#sidebar { color: var(--as-text); }
#suggestions input, #suggestions .wrapper input, #sidebar input[type=submit], #corrections input,
.suggestion_item, .suggestions .wrapper input {
  border-radius: 999px !important;
  border: 1px solid var(--as-border) !important;
  background: var(--as-surface-2) !important;
  color: var(--as-text) !important;
  padding: .3rem .85rem;
  transition: all .15s ease;
}
#suggestions input:hover, .suggestion_item:hover { background: var(--as-accent-soft) !important; color: var(--as-accent) !important; }

/* pagination */
#pagination { margin: 1.5rem 0; }
#pagination input, #pagination button, .pagination button, .pagination input {
  border-radius: 999px !important;
  background: var(--as-surface) !important;
  color: var(--as-text) !important;
  border: 1px solid var(--as-border) !important;
  padding: .55rem 1.2rem;
  font-family: var(--as-font);
  font-weight: 500;
  transition: all .15s ease;
}
#pagination input:hover, #pagination button:hover {
  background: linear-gradient(135deg, var(--as-accent), var(--as-accent-2)) !important;
  color: #fff !important; border-color: transparent !important;
}

/* ---------- preferences / forms / dialogs ---------- */
button, input[type=submit], .btn, .button {
  font-family: var(--as-font);
  border-radius: var(--as-radius-sm);
}
input[type=text], input[type=search], input[type=password], input[type=number], textarea {
  font-family: var(--as-font);
  border-radius: var(--as-radius-sm);
  border: 1px solid var(--as-border);
  background: var(--as-surface);
  color: var(--as-text);
}
input:focus, select:focus, textarea:focus {
  outline: none; border-color: var(--as-accent);
  box-shadow: 0 0 0 3px var(--as-accent-soft);
}
#main_preferences .tabs > label, .tabs > label {
  border-radius: 999px !important;
  padding: .4rem .9rem;
  font-weight: 500;
}
.tabs input:checked + label { background: var(--as-accent-soft); color: var(--as-accent); }
table.striped, .table-striped { border-radius: var(--as-radius-sm); overflow: hidden; }
dialog, .dialog-modal, #result-detail, .result-detail {
  border-radius: var(--as-radius) !important;
  border: 1px solid var(--as-border) !important;
  box-shadow: var(--as-shadow-hover);
}
#main_preferences > form, #main_about, .page_with_header {
  background: transparent;
}

/* ---------- footer ---------- */
footer {
  color: var(--as-text-dim);
  font-size: .85rem;
  background: transparent !important;
  border-top: 1px solid var(--as-border) !important;
}
footer a { color: var(--as-text-dim); }
footer a:hover { color: var(--as-accent); }

/* ---------- motion & mobile ---------- */
@media (prefers-reduced-motion: no-preference) {
  .index h1 { animation: as-rise .6s cubic-bezier(.2, .8, .2, 1) both; }
  .index #search { animation: as-rise .6s .08s cubic-bezier(.2, .8, .2, 1) both; }
  article.result { animation: as-fade .35s ease both; }
}
@keyframes as-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes as-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

@media (max-width: 800px) {
  .index .title { margin-top: 3rem; }
  article.result, .result { border-radius: 14px !important; padding: .9rem 1rem !important; }
  #links_on_top { padding: .6rem .8rem; }
}

/* ---------- refinements ---------- */
.result h3 a, .result h3 a * , .result h3 a span { color: var(--as-link) !important; }
.result h3 a:visited, .result h3 a:visited * { color: var(--color-result-link-visited-font) !important; }
.result .content strong, .result .highlight, .result b { color: var(--as-text) !important; font-weight: 600; }

.search_box button, #send_search, #clear_search { border: 0 !important; box-shadow: none !important; }
#send_search:hover { background: linear-gradient(135deg, var(--as-accent), var(--as-accent-2)) !important; }

/* results header: one calm glass bar instead of stacked bands */
.results_endpoint #search { background: var(--as-glass) !important; }
.results_endpoint #search_header { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.search_filters { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.search_filters select, .search_filters .select-wrap {
  font-size: .85rem; cursor: pointer; transition: border-color .15s ease;
}
.search_filters select:hover { border-color: var(--as-accent) !important; }

/* sidebar */
#sidebar details > summary, #sidebar .infobox h2 { color: var(--as-text); }
#sidebar .infobox h2, .infobox h2 { font-weight: 700; letter-spacing: -.01em; }
.infobox .content, .infobox p, .infobox bdi { color: var(--as-text); }
.infobox a { color: var(--as-link); }
#sidebar a { color: var(--as-link); }
.infobox hr, #sidebar hr { border-color: var(--as-border); }

.result h3 a b, .result h3 a strong, .result h3 a .highlight { color: inherit !important; font-weight: 700; }
#clear_search, #clear_search:hover { background: transparent !important; }
.search_box::before, .search_box::after, #search_view::before, #search_view::after { display: none !important; }

/* =====================================================================
   PASS 2 — inner pages (preferences, about, stats, 404) & components
   ===================================================================== */

/* ---------- brand mark on inner pages ---------- */
.as-brand {
  display: inline-flex; align-items: center; gap: .65rem;
  text-decoration: none; margin: 1.1rem 0 .6rem;
}
.as-brand-mark {
  display: grid; place-items: center;
  width: 38px; height: 38px; border-radius: 11px;
  background: linear-gradient(135deg, var(--as-accent), var(--as-accent-2));
  color: #fff; font-weight: 800; font-size: 1.25rem; line-height: 1;
  box-shadow: 0 8px 20px -8px var(--as-accent);
}
.as-brand-name {
  font-size: 1.45rem; font-weight: 800; letter-spacing: -.03em;
  background: linear-gradient(135deg, var(--as-accent), var(--as-accent-2));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}

/* ---------- page container for inner pages ---------- */
main.page_with_header {
  max-width: 1040px; margin: 0 auto;
  padding: 0 1.25rem 3rem; box-sizing: border-box;
}
main.page_with_header > h1 {
  font-size: clamp(1.7rem, 4vw, 2.3rem); font-weight: 800;
  letter-spacing: -.03em; margin: .6rem 0 1.2rem;
}
main.page_with_header #links_on_top { position: absolute; top: 0; right: 0; }
main.page_with_header a { color: var(--as-link); }

/* ---------- tabs (preferences + info) ---------- */
.tabs, ul.tabs { border: 0 !important; }
ul.tabs {
  display: flex; flex-wrap: wrap; gap: .35rem; list-style: none;
  padding: .3rem; margin: .5rem 0 1.2rem; width: fit-content; max-width: 100%;
  background: var(--as-surface); border: 1px solid var(--as-border) !important;
  border-radius: 999px;
}
ul.tabs li { margin: 0; }
ul.tabs a {
  display: block; padding: .45rem 1rem; border-radius: 999px;
  color: var(--as-text-dim) !important; text-decoration: none; font-weight: 600; font-size: .9rem;
  transition: all .15s ease;
}
ul.tabs a:hover { background: var(--as-accent-soft); color: var(--as-accent) !important; }
ul.tabs a.active {
  background: linear-gradient(135deg, var(--as-accent), var(--as-accent-2));
  color: #fff !important; box-shadow: 0 6px 16px -8px var(--as-accent);
}

/* preferences tab bar */
#main_preferences .tabs > label {
  text-transform: none !important; letter-spacing: 0;
  background: var(--as-surface); border: 1px solid var(--as-border) !important;
  color: var(--as-text-dim); margin: 0 .3rem .5rem 0; cursor: pointer;
  padding: .45rem 1rem; font-size: .9rem;
}
#main_preferences .tabs > label:hover { color: var(--as-accent); border-color: var(--as-accent) !important; }
#main_preferences .tabs > input:checked + label {
  background: linear-gradient(135deg, var(--as-accent), var(--as-accent-2)) !important;
  color: #fff !important; border-color: transparent !important;
  box-shadow: 0 6px 16px -8px var(--as-accent);
}
#main_preferences .tabs > section {
  background: var(--as-surface);
  border: 1px solid var(--as-border) !important;
  border-radius: var(--as-radius);
  box-shadow: var(--as-shadow);
  padding: .5rem 1.5rem 1.2rem !important; margin-top: .4rem;
}

/* preferences rows */
#main_preferences fieldset {
  border: 0 !important; border-bottom: 1px solid var(--as-border) !important;
  padding: 1rem 0 !important; margin: 0 !important;
  display: grid; grid-template-columns: minmax(150px, 1fr) minmax(200px, 1.1fr) 2fr;
  gap: .5rem 1.5rem; align-items: center;
}
#main_preferences fieldset:last-of-type { border-bottom: 0 !important; }
#main_preferences legend { font-weight: 600; color: var(--as-text); padding: 0; float: left; width: auto; }
#main_preferences .value, #main_preferences fieldset > div { margin: 0; }
#main_preferences .description { color: var(--as-text-dim); font-size: .9rem; }
#main_preferences h3, #main_preferences h4, #main_preferences h2 { color: var(--as-text); letter-spacing: -.01em; }
#main_preferences .small_font { color: var(--as-text-dim); font-size: .85rem; margin: 1.2rem 0 .6rem; }
#main_preferences select { min-width: 190px; }

/* on/off switches */
.checkbox-onoff + label, .checkbox-onoff { accent-color: var(--as-accent); }
input.checkbox-onoff + label::before, .checkbox-onoff::before { border-radius: 999px; }

/* save / back / reset */
#main_preferences form > input[type=submit],
.as-btn, a.as-btn {
  display: inline-block; cursor: pointer; border: 0;
  background: linear-gradient(135deg, var(--as-accent), var(--as-accent-2)) !important;
  color: #fff !important; font-weight: 600; font-size: .95rem;
  padding: .65rem 1.6rem; border-radius: 999px; text-decoration: none;
  box-shadow: 0 10px 24px -10px var(--as-accent);
  transition: transform .15s ease, filter .15s ease;
}
#main_preferences form > input[type=submit]:hover, .as-btn:hover { filter: brightness(1.1); transform: translateY(-1px); }
.preferences_back a, .preferences_back {
  background: transparent !important; box-shadow: none !important; border: 0 !important;
}
.preferences_back a {
  display: inline-block; padding: .6rem 1.2rem; border-radius: 999px;
  color: var(--as-text-dim) !important; text-decoration: none; font-weight: 600;
  border: 1px solid var(--as-border) !important; background: var(--as-surface) !important;
  transition: all .15s ease;
}
.preferences_back a:hover { color: var(--as-accent) !important; border-color: var(--as-accent) !important; }

/* ---------- info pages (about, syntax) ---------- */
.info-page {
  background: var(--as-surface); border: 1px solid var(--as-border);
  border-radius: var(--as-radius); box-shadow: var(--as-shadow);
  padding: 1.6rem 2rem 2rem; max-width: 860px; line-height: 1.75;
}
.info-page h1 { font-size: 2rem; font-weight: 800; letter-spacing: -.03em; margin: 0 0 .8rem; }
.info-page h2 { font-size: 1.3rem; margin: 1.8rem 0 .5rem; letter-spacing: -.02em; }
.info-page ul { padding-left: 1.3rem; }
.info-page li { margin: .3rem 0; }
.info-page code, code, kbd {
  background: var(--as-surface-2); border: 1px solid var(--as-border);
  border-radius: 6px; padding: .1rem .4rem; font-size: .9em;
}
.info-page pre, pre {
  background: var(--as-surface-2); border: 1px solid var(--as-border);
  border-radius: var(--as-radius-sm); padding: 1rem;
}
.info-page table { border-collapse: collapse; width: 100%; }
.info-page th, .info-page td { padding: .55rem .8rem; border-bottom: 1px solid var(--as-border); text-align: left; }

/* ---------- stats ---------- */
table.engine-stats {
  width: 100%; border-collapse: separate; border-spacing: 0;
  background: var(--as-surface); border: 1px solid var(--as-border);
  border-radius: var(--as-radius); box-shadow: var(--as-shadow); overflow: hidden;
}
table.engine-stats th {
  text-transform: uppercase; letter-spacing: .06em; font-size: .72rem;
  color: var(--as-text-dim) !important; padding: .9rem .8rem;
  background: var(--as-surface-2); border-bottom: 1px solid var(--as-border);
}
table.engine-stats th a { color: var(--as-text-dim) !important; text-decoration: none; }
table.engine-stats th a:hover { color: var(--as-accent) !important; }
table.engine-stats td { padding: .55rem .8rem; border-bottom: 1px solid var(--as-border); color: var(--as-text); }
table.engine-stats tr:last-child td { border-bottom: 0; }
table.engine-stats tr:hover td { background: var(--as-accent-soft); }
table.engine-stats td a { color: var(--as-link); text-decoration: none; font-weight: 500; }
.bar-chart-bar, .bar-chart-serie1 {
  background: linear-gradient(90deg, var(--as-accent), var(--as-accent-2)) !important;
  border-radius: 999px; height: 8px;
}
.bar-chart-serie2 { background: #f59e0b !important; border-radius: 999px; height: 8px; }
.engine-tooltip { border-radius: var(--as-radius-sm) !important; box-shadow: var(--as-shadow-hover); }

/* ---------- 404 ---------- */
.as-404 { padding: 7vh 1rem 4rem; text-align: center; }
.as-404-code {
  font-size: clamp(6rem, 22vw, 11rem); font-weight: 900; line-height: 1; letter-spacing: -.06em;
  background: linear-gradient(135deg, var(--as-accent), var(--as-accent-2) 60%, #ec4899);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.as-404 h1 { margin: .4rem 0 .3rem; font-size: 1.8rem; letter-spacing: -.02em; }
.as-404 p { color: var(--as-text-dim); margin: 0 0 1.6rem; }

/* ---------- sidebar blocks (suggestions / response time / search URL) ---------- */
#sidebar > div, #sidebar details.sidebar-collapsible, .sidebar-collapsible {
  background: var(--as-surface) !important;
  border: 1px solid var(--as-border) !important;
  border-radius: var(--as-radius) !important;
  box-shadow: var(--as-shadow);
  margin: 0 0 .8rem !important;
}
#sidebar details.sidebar-collapsible, .sidebar-collapsible { padding: 0 !important; overflow: hidden; }
#sidebar > div > details, #sidebar #suggestions details { border: 0 !important; box-shadow: none; background: transparent !important; }
.sidebar-collapsible > summary, #sidebar summary {
  cursor: pointer; padding: .8rem 1.1rem; font-weight: 600; color: var(--as-text);
  list-style: none; transition: background .15s ease;
}
.sidebar-collapsible > summary:hover { background: var(--as-accent-soft); }
.sidebar-collapsible > summary::-webkit-details-marker { display: none; }
.sidebar-collapsible > summary::after { content: "＋"; float: right; color: var(--as-text-dim); font-weight: 400; }
.sidebar-collapsible[open] > summary::after { content: "－"; }
.sidebar-collapsible > *:not(summary) { padding: 0 1.1rem 1rem; }
#suggestions .wrapper { list-style: none; padding: 0 1.1rem 1rem !important; display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; }
#suggestions .wrapper li { margin: 0; }
input.suggestion { cursor: pointer; font-family: var(--as-font); font-size: .85rem; }
#search_url { padding: .1rem 0; }
#search_url pre, #search_url code, #search_url .selectable_url {
  background: var(--as-surface-2) !important; color: var(--as-text) !important;
  border-radius: var(--as-radius-sm); border: 1px solid var(--as-border);
}
#answers, #corrections, .dialog-error, .dialog-warning, .dialog-info {
  border-radius: var(--as-radius) !important;
}
.dialog-error, .dialog-warning {
  border: 1px solid var(--as-border) !important; box-shadow: var(--as-shadow);
  background: var(--as-surface) !important; color: var(--as-text) !important;
}

/* ---------- result sub-types ---------- */
.result-images { background: var(--as-surface) !important; border: 1px solid var(--as-border) !important;
  border-radius: var(--as-radius-sm) !important; box-shadow: var(--as-shadow); }
.result-images:hover { transform: translateY(-2px); box-shadow: var(--as-shadow-hover); }
.result-images img { border-radius: 8px; }
.result-images span { border-radius: 6px; }
.result-videos .thumbnail, .result img.thumbnail { border-radius: var(--as-radius-sm); }
.result .result_author, .result .author { color: var(--as-text-dim); font-size: .85rem; }
.result .published_date, .result .published { color: var(--as-text-dim); font-size: .8rem; }
.result a.btn-collapse, .result .show_video, .result button, .result .btn-collapse {
  background: var(--as-surface-2) !important; color: var(--as-text) !important;
  border: 1px solid var(--as-border) !important; border-radius: 999px !important;
  padding: .25rem .8rem; font-size: .8rem; cursor: pointer; transition: all .15s ease;
}
.result a.btn-collapse:hover, .result .show_video:hover, .result button:hover {
  background: var(--as-accent-soft) !important; color: var(--as-accent) !important;
  border-color: var(--as-accent) !important;
}
.result .cache_link, .result a.cache_link { color: var(--as-url); }
.result .engines span { color: var(--as-text-dim); }
.result table { border-collapse: collapse; }
.result td, .result th { border-color: var(--as-border); }

/* image / media lightbox */
#result-detail, .result-detail, #detail_view {
  background: var(--as-surface) !important; color: var(--as-text) !important;
  border-radius: var(--as-radius) !important;
}

/* ---------- tooltips, badges, kbd, autocomplete ---------- */
.tooltips, .engine-tooltip, .tooltip { border-radius: var(--as-radius-sm); }
.autocomplete ul li { padding: .5rem 1rem; transition: background .12s ease; }
.autocomplete ul li.active, .autocomplete ul li:hover { background: var(--as-accent-soft) !important; color: var(--as-accent) !important; }
kbd { font-family: ui-monospace, "SF Mono", Menlo, monospace; }

/* ---------- back to top ---------- */
#backToTop { border-radius: 999px !important; }
#backToTop a { color: var(--as-text); }

/* ---------- footer polish ---------- */
footer p { margin: 0; padding: 1.4rem 1rem 1.8rem; text-align: center; line-height: 1.8; }
footer a { text-decoration: none; padding: .1rem .5rem; border-radius: 999px; transition: all .15s ease; }
footer a:hover { background: var(--as-accent-soft); }

/* ---------- scrollbar & misc ---------- */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: var(--as-border); border-radius: 999px; border: 2px solid transparent; background-clip: content-box; }
::-webkit-scrollbar-thumb:hover { background: var(--as-text-dim); background-clip: content-box; border: 2px solid transparent; }
hr { border: 0; border-top: 1px solid var(--as-border); }
:focus-visible { outline: 2px solid var(--as-accent); outline-offset: 2px; }

/* ---------- mobile ---------- */
@media (max-width: 800px) {
  main.page_with_header { padding: 0 1rem 2rem; }
  main.page_with_header #links_on_top { position: static; justify-content: flex-start; padding: .6rem 0 0; }
  #main_preferences fieldset { grid-template-columns: 1fr; gap: .4rem; }
  #main_preferences .tabs > section { padding: .3rem 1rem 1rem !important; }
  .info-page { padding: 1.2rem 1.1rem 1.4rem; }
  table.engine-stats { display: block; overflow-x: auto; }
  .as-brand-name { font-size: 1.25rem; }
}

/* the "Default categories" row: label on top, pills below */
#main_preferences fieldset:has(.search_categories) { grid-template-columns: 1fr; }
#main_preferences .search_categories { width: 100%; }
#main_preferences #categories_container { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-start; }
#main_preferences .category_checkbox label {
  display: flex; align-items: center; gap: .4rem; cursor: pointer;
  padding: .45rem .9rem; border-radius: 999px; border: 1px solid var(--as-border);
  background: var(--as-surface-2); color: var(--as-text-dim); transition: all .15s ease;
}
#main_preferences .category_checkbox label:hover { border-color: var(--as-accent); color: var(--as-accent); }
#main_preferences .category_checkbox input:checked + label {
  background: var(--as-accent-soft); color: var(--as-accent); border-color: var(--as-accent);
}

/* sidebar: one card per block (no doubled borders) */
#sidebar > div:not(.infobox):not(#answers) {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  margin: 0 !important; padding: 0 !important;
}
#sidebar > div > details.sidebar-collapsible,
#sidebar > details.sidebar-collapsible { margin: 0 0 .8rem !important; }
#suggestions .wrapper { padding: 0 1.1rem 1rem !important; }
#sidebar details > summary + * { padding-top: 0; }
#main_preferences fieldset:has(.search_categories) > legend { float: none; width: 100%; margin-bottom: .6rem; }

/* final touches */
.bar-chart-bar, .bar-chart-serie1, .bar-chart-serie2, .bar-chart-graph { border: 0 !important; outline: 0 !important; box-shadow: none !important; }
.bar-chart-graph { background: transparent !important; }
#sidebar #suggestions > details.sidebar-collapsible, #sidebar #suggestions details {
  background: var(--as-surface) !important;
  border: 1px solid var(--as-border) !important;
  box-shadow: var(--as-shadow) !important;
  border-radius: var(--as-radius) !important;
  margin: 0 0 .8rem !important;
}
