/* Requested UI additions; the vendored Simply Nord files remain unchanged. */
.results_endpoint article.result .content.ap-snippet {
  --ap-snippet-lines: 5;
  display: block !important;
  line-height: 1.45;
  overflow-wrap: anywhere;
  max-height: none !important;
}
.results_endpoint article.result .content.ap-snippet.ap-snippet-collapsed {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--ap-snippet-lines);
  max-height: calc(var(--ap-snippet-lines) * 1.45em) !important;
  overflow: hidden !important;
}
.ap-snippet-toggle {
  display: block;
  width: fit-content;
  margin: .15rem 0 .4rem;
  padding: .15rem 0;
  border: 0;
  background: transparent;
  color: var(--color-result-link, #88c0d0);
  font: inherit;
  font-size: .9rem;
  text-decoration: underline;
  cursor: pointer;
}
.ap-snippet-toggle[hidden], .ap-category-scroll[hidden] { display: none !important; }
.ap-snippet-toggle:focus-visible, .ap-category-scroll:focus-visible {
  outline: 2px solid var(--color-result-link, #88c0d0);
  outline-offset: 2px;
}
:is(.results_endpoint, .preferences_endpoint) #categories {
  display: flex;
  align-items: center;
  gap: .15rem;
  min-width: 0;
  max-width: 100%;
}
:is(.results_endpoint, .preferences_endpoint) #categories_container {
  display: flex !important;
  flex: 1 1 auto;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  width: auto !important;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin !important;
  scroll-padding-inline: .25rem;
}
:is(.results_endpoint, .preferences_endpoint) #categories_container .category {
  flex: 0 0 auto !important;
  width: auto !important;
  white-space: nowrap;
}
:is(.results_endpoint, .preferences_endpoint) #categories_container .category_name { white-space: nowrap; }
:is(.results_endpoint, .preferences_endpoint) #categories_container button.category_button {
  padding: .4rem .7rem !important;
  font-size: .95rem !important;
}
.ap-category-scroll {
  flex: 0 0 2rem;
  width: 2rem;
  height: 2.75rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-result-link, #88c0d0);
  font-size: 1.6rem;
  cursor: pointer;
}
.ap-category-scroll:disabled { opacity: .3; cursor: default; }
@media (max-width: 640px) {
  .results_endpoint article.result .content.ap-snippet { --ap-snippet-lines: 4; }
}

/* Home search stays visibly raised in every native Simply Nord color mode. */
.index_endpoint #search { width: min(100%, 44rem); margin-inline: auto; }
.index_endpoint #search_view { width: 100%; padding: 0; }
.index_endpoint .search_box {
  display: flex !important;
  align-items: center;
  min-height: 3.5rem;
  padding: .2rem .5rem .2rem 1rem !important;
  border: 2px solid #7b88a1 !important;
  border-radius: 1rem !important;
  background: var(--color-search-background, #3b4252) !important;
  box-shadow: 0 6px 20px #0003, 0 1px 3px #0004 !important;
}
.index_endpoint .search_box:focus-within {
  border-color: #88c0d0 !important;
  box-shadow: 0 0 0 3px #88c0d040, 0 6px 20px #0003 !important;
}
.index_endpoint #q { min-width: 0; background: transparent !important; font-size: 1.1rem; }
.index_endpoint #q::placeholder { color: var(--color-search-font, #eceff4) !important; opacity: .65 !important; }
/* Match the quiet Nord search action used on the results page. */
.index_endpoint #send_search {
  display: grid !important;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0 !important;
  margin: 0;
  border-radius: var(--ap-radius-control) !important;
  background: transparent !important;
  color: var(--color-search-font, #eceff4) !important;
}
.index_endpoint #send_search:hover { background: var(--color-toolkit-select-background, #434c5e) !important; }
.index_endpoint #send_search svg { display: block; width: 24px; height: 24px; }
@media (max-width: 640px) { .index_endpoint .index { padding-inline: 1rem; } }

/* Anchor home suggestions to the field instead of the page's static position. */
.index_endpoint .search_box { position: relative; }
.index_endpoint .search_box > .autocomplete {
  top: calc(100% + .5rem) !important;
  bottom: auto !important;
  inset-inline: 0 !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box;
}

/* Undo the theme's mobile focus overlay only on the home form. */
.index_endpoint #search, .index_endpoint #search_view, .index_endpoint .search_box { box-sizing: border-box !important; }
.index_endpoint #search_view, .index_endpoint #search_view:focus-within { position: static !important; width: 100% !important; max-width: 100% !important; height: auto !important; border-radius: 1rem !important; }
.index_endpoint #search_header { padding-inline: 0 !important; }
.index_endpoint .search_box { width: 100% !important; }
.index_endpoint #search_view:focus-within .search_box { padding: .2rem .5rem .2rem 1rem !important; border: 2px solid #88c0d0 !important; border-radius: 1rem !important; box-shadow: 0 0 0 3px #88c0d040, 0 6px 20px #0003 !important; }

/* Rounded rectangles, with smaller nested controls and true circular toggles. */
:root {
  --ap-radius-control: 12px;
  --ap-radius-panel: 20px;
  --ap-radius-search: 20px;
  --ap-radius-media: 12px;
  --ap-radius-compact: 6px;
}
body :is(button, select, textarea, input[type="text"], input[type="url"], input[type="search"], input[type="password"], input[type="number"], input[type="submit"], input[type="button"]) {
  border-radius: var(--ap-radius-control) !important;
}
body :is(.result, #answers, #sidebar .infobox, .autocomplete, dialog, .dialog-modal, .dialog-error, .dialog-error-block, .dialog-warning, .dialog-warning-block, .dialog-information, .engine-tooltip, #suggestions .wrapper form) {
  border-radius: var(--ap-radius-panel) !important;
}
body :is(.result img.thumbnail, .result-images img, #sidebar .infobox img, .result a.thumbnail_link) {
  border-radius: var(--ap-radius-media) !important;
}
body .search_box, body #search_view:focus-within .search_box {
  border-radius: var(--ap-radius-search) !important;
}
body #q { border-radius: var(--ap-radius-search) 0 0 var(--ap-radius-search) !important; }
body #send_search { border-radius: 0 var(--ap-radius-search) var(--ap-radius-search) 0 !important; }
body #clear_search { border-radius: 0 !important; }
.index_endpoint #q { border-radius: var(--ap-radius-control) !important; }
body.preferences_endpoint #categories .category_checkbox > label { border-radius: var(--ap-radius-control) !important; }
body .tabs > label { border-radius: var(--ap-radius-control) var(--ap-radius-control) 0 0 !important; }
body .ap-category-scroll { border-radius: var(--ap-radius-control) !important; }

/* Keep fieldset intrinsic sizing from widening the whole mobile document. */
.preferences_endpoint #main_preferences,
.preferences_endpoint .tabs,
.preferences_endpoint .tabs > section,
.preferences_endpoint fieldset,
.preferences_endpoint fieldset .value {
  min-width: 0;
  max-width: 100%;
}
.preferences_endpoint fieldset { box-sizing: border-box; }
.preferences_endpoint .tabs > section { width: 100%; }
.preferences_endpoint #categories_container { padding-block: .25rem; }
.preferences_endpoint #categories_container .category { margin: 0; }
.preferences_endpoint #categories_container .category > label { white-space: nowrap; }
@media (max-width: 50em) {
  body.preferences_endpoint fieldset .value { float: none !important; width: 100% !important; }
  body.preferences_endpoint fieldset .description { float: none !important; margin: 0 !important; padding: .5rem 0 0 !important; width: 100% !important; box-sizing: border-box; }
  .preferences_endpoint fieldset :is(select, input[type="text"], textarea) { max-width: 100%; box-sizing: border-box; }
}

/* The stock small-icon scale and inline baseline displaced the up arrow. */
body #backToTop { border-radius: 16px !important; }
body #backToTop a {
  box-sizing: border-box;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border-radius: inherit;
}
body #backToTop svg {
  display: block;
  width: 28px;
  height: 28px;
  transform: none !important;
}
body #backToTop a:focus-visible { outline: 2px solid var(--color-result-link, #88c0d0); outline-offset: 3px; }

.index_endpoint .search_box,
.index_endpoint #search_view:focus-within .search_box,
.index_endpoint #search_view,
.index_endpoint #search_view:focus-within { border-radius: var(--ap-radius-search) !important; }
.index_endpoint #send_search { border-radius: var(--ap-radius-control) !important; }

.preferences_endpoint .pref-group { box-sizing: border-box; max-width: 100%; }

body :is(.button, #main_preferences .preferences_back, .result .altlink a, div.selectable_url, #apis input) {
  border-radius: var(--ap-radius-control) !important;
}
body :is(.badge, #main_preferences .bang, .info-page code) {
  border-radius: var(--ap-radius-compact) !important;
}
body.results_endpoint #search_view:focus-within { border-radius: var(--ap-radius-search) !important; }

/* Match the fade and its button to the actual Simply Nord answer card. */
body #answers { --ap-ai-surface: var(--color-header-background, var(--color-answer-background, #3b4252)); }
body #answers .sxng-show-more-wrap {
  background: linear-gradient(to bottom, transparent, var(--ap-ai-surface)) !important;
}
body #answers .sxng-show-more-btn { background: var(--ap-ai-surface) !important; }

body #links_on_top {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 !important;
  margin: 0 !important;
  top: .75rem !important;
  right: .5rem !important;
}
body #links_on_top :is(.link_on_top_about, .link_on_top_preferences) {
  box-sizing: border-box;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 6px;
  margin: 0 !important;
  border-radius: var(--ap-radius-control);
}
body #links_on_top a:hover { background: var(--color-search-background, #3b4252); }
body #links_on_top a:focus-visible { outline: 2px solid var(--color-result-link, #88c0d0); outline-offset: 2px; }
@media (max-width: 50em) {
  body #links_on_top span { display: none !important; }
  body.results_endpoint #search_view { margin-inline-end: 6.75rem; }
  main.page_with_header img.logo { max-width: calc(100% - 7rem); }
}
.ap-about { max-width: 60rem; line-height: 1.6; }
.ap-about details { margin-block: 1.5rem; padding: 1rem; border: 1px solid var(--color-toolkit-tabs-section-border, #4c566a); border-radius: var(--ap-radius-panel); }
.ap-about summary.button { cursor: pointer; width: fit-content; }
.ap-about li { margin-block: .6rem; }
.ap-browser-url { margin-block: 1rem; }
.ap-browser-url label { display: block; margin-bottom: .4rem; }
.ap-browser-url > div { display: flex; gap: .5rem; flex-wrap: wrap; }
.ap-browser-url input { flex: 1 1 20rem; min-width: 0; width: 100%; box-sizing: border-box; padding: .6rem; background: var(--color-search-background, #3b4252); color: inherit; border: 1px solid var(--color-toolkit-tabs-section-border, #4c566a); font: inherit; }
.ap-browser-url button { min-height: 44px; padding: .6rem 1rem; }
.ap-about code { overflow-wrap: anywhere; }

/* Structured answers inherit the native Simple palette. */
#answers { display: flex; flex-direction: column; }
#answers > .answer:has(.ap-dictionary) { order: -2; }
#answers > .answer:has(#sxng-stream-box) { order: 1; }
.ap-dictionary p { white-space: pre-wrap; }
#sxng-stream-data p { margin: .5em 0; }
#sxng-stream-data blockquote { border-inline-start: 3px solid var(--color-result-link); margin-inline: 0; padding-inline-start: 1em; }
#sxng-stream-data pre { overflow-x: auto; padding: .75em; background: var(--color-base-background); border: 1px solid var(--color-base-border); border-radius: 6px; }
#sxng-stream-data code { font-family: monospace; white-space: pre-wrap; }
#sxng-stream-data pre code { white-space: pre; }
#sxng-stream-data ul, #sxng-stream-data ol { padding-inline-start: 1.5em; }

/* Browser installation guide: screenshots open at their original size. */
.ap-browser-fields { display: grid; grid-template-columns: auto 1fr; gap: .4rem 1rem; }
.ap-browser-fields dd { margin: 0; }
.ap-browser-screenshot { margin: 1.2rem 0 2rem; }
.ap-browser-screenshot img { display: block; width: 100%; max-width: 1180px; height: auto; border: 1px solid var(--color-toolkit-tabs-section-border, #4c566a); border-radius: .5rem; box-sizing: border-box; }
.ap-browser-screenshot figcaption { margin-top: .5rem; font-size: .9em; line-height: 1.5; }
#ap-install-search code { overflow-wrap: anywhere; }
