/* Public search and full topic readers. No new product theme or content model. */
body.discovery-page { margin: 0; background: #080d13; color: #f0f4f7; font-family: system-ui, sans-serif; }
.discovery-page [hidden] { display: none !important; }
html:not([data-topic-ready]) .topic-page [data-studplan-source] { display: none; }
.discovery-page .discovery-wrap { width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: 36px 0 56px !important; min-height: 70vh; }
.discovery-page h1 { margin: 8px 0 18px; color: #f5f8fa; font: 820 clamp(2rem, 5vw, 3.35rem)/1.08 system-ui, sans-serif; letter-spacing: -.035em; overflow-wrap: anywhere; }
.discovery-page a { color: #a9e8df; text-underline-offset: 3px; }
.discovery-page a:focus-visible, .discovery-page button:focus-visible, .discovery-page input:focus-visible, .discovery-page summary:focus-visible { outline: 3px solid #c8f53f; outline-offset: 4px; }
.discovery-eyebrow { margin: 0; color: #a9e8df; font-size: .8rem; font-weight: 800; letter-spacing: .055em; }
.topic-page .discovery-eyebrow { color: var(--signal); }
.discovery-breadcrumb { display: flex; align-items: center; gap: 10px; min-height: 44px; margin: 0 0 14px; font-size: .9rem; }
.discovery-button { min-height: 44px; padding: 10px 16px; border: 1px solid #465465; border-radius: 10px; color: #eef3f7; background: #17222d; font: 750 .9rem/1.35 system-ui, sans-serif; cursor: pointer; }
.discovery-button--primary { background: #c8f53f; color: #162200; border-color: transparent; }
.topic-intro { max-width: 900px; }
.topic-aliases { margin: -4px 0 14px; color: #aebdc9; font-size: .94rem; line-height: 1.6; }
.topic-aliases summary { cursor: pointer; min-height: 32px; font-size: .85rem; }
.topic-aliases p { margin: 4px 0 10px; }
.topic-caution { color: #b9c4ce; max-width: 82ch; border-left: 3px solid #536574; padding-left: 12px; font-size: .84rem; line-height: 1.55; }
.topic-actions { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; margin-top: 12px; }
.topic-actions a { display: inline-flex; align-items: center; min-height: 44px; font-size: .9rem; }
.topic-share-status { min-height: 1.5rem; margin: 8px 0; font-size: .85rem; color: #b6e8d9; }
.topic-share-status input { display: block; width: 100%; padding: 10px; color: #f0f4f7; background: #152330; border: 1px solid #4c6577; font-size: 16px; }
.topic-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); align-items: start; gap: 32px; margin-top: 20px; }
.topic-outline { position: sticky; top: 92px; font-size: .86rem; max-height: calc(100dvh - 110px); overflow-y: auto; }
.topic-outline summary { padding: 12px 0; font-weight: 800; cursor: pointer; color: #edf2f7; }
.topic-outline nav { display: grid; gap: 3px; }
.topic-outline nav a { display: block; padding: 10px 8px; border-radius: 6px; text-decoration: none; line-height: 1.35; color: #b8c9d6; }
.topic-outline nav a:hover { background: #17232e; color: #fff; }
.topic-reading { min-width: 0; max-width: 780px; }
.topic-page .topic-reading :is(.section, [id^="sec-"]) { scroll-margin-top: 90px !important; }
.topic-page .topic-summary { padding: 24px; border: 1px solid #2c3a48; border-radius: 18px; background: #101922; }
.topic-page .topic-summary .map-summary { padding: 0; border: 0; }
.topic-page .topic-summary .sheet-first { font-size: 1.02rem; line-height: 1.65; }
.topic-page .topic-summary .dossier-foot { margin-bottom: 0; }
.topic-page .topic-summary a.cut, .topic-page .topic-summary a.dg-jump-block { text-decoration: none; color: inherit; }
.topic-page .topic-notes { margin-top: 24px; }
.topic-page .topic-notes .section { margin: 0 0 18px; padding: 22px; border: 1px solid #263543; border-radius: 14px; background: #0e161f; }
.topic-page .topic-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 0 0 14px; }
.topic-page .topic-notes :is(.sec-title, .timing-notes-heading) { color: #edf3f9; font-size: 1.08rem; font-weight: 800; line-height: 1.4; margin: 0 0 14px; }
.topic-page .topic-section-heading .sec-title { margin: 0; }
.topic-page .section-panel { display: block !important; max-height: none !important; overflow: visible !important; padding: 0; }
.topic-page .topic-notes :is(.bullet-list, .note-list) { color: #d1dce5; font-size: .96rem; line-height: 1.7; }
.topic-page .topic-notes li { overflow-wrap: anywhere; }
.topic-page .topic-notes li + li { margin-top: 12px; }
.topic-page .topic-notes .related-chips li { margin: 0; }
.topic-page .related-chips a { display: inline-flex; align-items: center; min-height: 44px; padding: 9px 14px; border: 1px solid #465767; border-radius: 100px; background: #162330; color: #eef4f7; line-height: 1.4; text-decoration: none; }
.topic-page .related-chips a:hover { border-color: var(--signal); background: #213240; }
.topic-page .sec-meta { color: #9eafbd; }
.topic-page .topic-notes .open-note { line-height: 1.6; }
.topic-page .topic-reading .section a, .topic-page .topic-reading .community-reference { overflow-wrap: anywhere; }
.topic-return { margin-top: 32px; }
.topic-return a { display: inline-block; min-height: 44px; padding-block: 12px; }
.topic-directory { columns: 3 230px; padding-left: 22px; margin-top: 28px; }
.topic-directory li { break-inside: avoid; }
.topic-directory a { display: inline-block; padding: 10px 0; line-height: 1.5; }
.discovery-page .disclaimer-bottom { border-top: 1px solid #293340; margin-top: 0; padding-inline: 0; }
.discovery-page .disclaimer-bottom-inner { width: min(1280px, calc(100% - 48px)); margin: 0 auto; padding: 36px 0; }
.search-page .discovery-wrap { max-width: 980px; scroll-margin-top: 90px; }
/* The reader and Search headers keep scrolling text behind opaque navigation. */
body:is(.search-page,.topic-page) > .site-header.site-header--open-wall { position: sticky !important; top: 0 !important; z-index: 70; background: #080d13 !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
.search-page > .skip-link { position: fixed; top: -100px; left: 16px; z-index: 100; padding: 12px 16px; border-radius: 8px; background: #c8f53f; color: #162200; font-weight: 750; }
.search-page > .skip-link:focus { top: 8px; }
.search-intro { max-width: 65ch; margin-bottom: 24px; color: #bfccd7; font-size: 1rem; line-height: 1.65; }
.public-search-form > label { display: block; font-size: .87rem; font-weight: 700; margin-bottom: 8px; }
.public-search-form > div { display: flex; gap: 10px; }
.public-search-form input { min-width: 0; width: 100%; min-height: 52px; border: 1px solid #526171; border-radius: 12px; padding: 12px 16px; background: #101923; color: #f5f7fa; font: 400 17px/1.4 system-ui, sans-serif; }
.public-search-form input::placeholder { color: #aabac7; opacity: 1; }
.search-privacy { margin: 10px 0 20px; font-size: .84rem; color: #b3c5c0; }
.search-filters { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 24px; }
.search-filters button { min-height: 44px; padding: 8px 13px; color: #c6d3df; background: #111d28; border: 1px solid #36495a; border-radius: 100px; font: 650 .84rem/1.3 system-ui, sans-serif; cursor: pointer; }
.search-filters button[aria-pressed="true"] { color: #11221f; background: #9be2d7; border-color: #9be2d7; }
#public-search-status { min-height: 1.6rem; line-height: 1.5; color: #bacbd8; }
.search-result-group { margin: 28px 0 34px; }
.search-result-group h2 { display: flex; align-items: center; gap: 10px; font-size: 1.14rem; }
.search-result-group h2 a { text-decoration: none; }
.search-result-count { font-size: .82rem; font-weight: 550; color: #a7b8c7; }
.search-result-group ul { list-style: none; padding: 0; margin: 14px 0 0; border: 1px solid #2b3b4a; border-radius: 14px; overflow: hidden; }
.search-result-group li + li { border-top: 1px solid #293846; }
.search-result { display: flex; justify-content: space-between; gap: 18px; padding: 16px 18px; color: #f1f6fa !important; text-decoration: none; }
.search-result:hover { background: #17242e; }
.search-result strong { display: block; font-size: 1.02rem; line-height: 1.45; }
.search-result-context { display: block; margin-top: 5px; color: #b2c3d0; font-size: .84rem; line-height: 1.5; }
.search-result-arrow { color: #a4e7dc; align-self: center; }
.search-show-more { padding: 12px 0; min-height: 44px; border: 0; color: #a9e8df; background: transparent; font: 700 .9rem/1.4 system-ui, sans-serif; cursor: pointer; }
.search-product-doors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 26px; }
.search-product-doors a { position: relative; display: grid; align-content: start; gap: 8px; padding: 20px 32px 20px 18px; border: 1px solid #304351; border-radius: 14px; background: #111c25; text-decoration: none; }
.search-product-doors span { color: #b7c7d2; font-size: .84rem; line-height: 1.5; }
.search-product-doors b { position: absolute; top: 18px; right: 12px; }
@media(max-width: 760px) {
  .discovery-page .discovery-wrap { width: calc(100% - 32px); padding-top: 22px !important; }
  .discovery-page .disclaimer-bottom-inner { width: calc(100% - 28px); }
  .topic-layout { grid-template-columns: minmax(0,1fr); gap: 20px; margin-top: 6px; }
  .topic-outline { position: static; max-height: none; overflow: visible; border-block: 1px solid #314351; }
  .topic-outline nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 10px; padding-bottom: 10px; }
  .topic-outline nav a { min-height: 44px; font-size: .82rem; }
  .topic-page .topic-summary { padding: 18px 16px; }
  .topic-page .topic-notes .section { padding: 18px 16px; }
  .topic-actions { gap: 8px 12px; }
  .search-product-doors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .search-filters { flex-wrap: nowrap; overflow-x: auto; margin-inline: -16px; padding: 4px 16px 10px; }
  .search-filters button { white-space: nowrap; }
}
@media(prefers-reduced-motion: reduce) { .discovery-page { scroll-behavior: auto; } }
.search-suggestions{padding:20px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:#0c1117;margin-block:16px 24px}
.search-suggestions h2{margin:0 0 12px;font-size:1.1rem}
.search-suggestions ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.search-suggestions .discovery-button{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}
.search-suggestions li{max-width:100%}
