/* Only the explicitly opted-in header and native directory/home modules. */
.qflc-ai-nav-root .qflc-topic-nav { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--main-border-color, #e5e7eb); }
.qflc-ai-nav-root .qflc-topic-heading,
body.page-id-5936 .qflc-ai-hot-topics .qflc-topic-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.qflc-ai-nav-root .qflc-topic-heading h3 { margin: 0; font-size: 14px; font-weight: 600; color: var(--muted-color, #777); }
.qflc-topic-nav .qflc-topic-more { font-size: 13px; }
.qflc-topic-nav .qflc-topic-nav-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 4px 16px; margin-top: 8px; }
.qflc-ai-nav-root .qflc-topic-nav .qflc-topic-nav-link { display: flex; align-items: center; gap: 9px; min-height: 44px; padding: 5px 8px; border: 0; border-radius: 6px; font-size: 14px; line-height: 1.5; color: var(--main-color, #333); text-decoration: none; white-space: normal; overflow: visible; text-overflow: clip; }
.qflc-ai-nav-root .qflc-topic-nav-link:hover { background: var(--muted-bg-color, #f3f4f6); color: var(--focus-color, #087fbd); }
.qflc-topic-icon { display: inline-flex; flex: 0 0 32px; align-items: center; justify-content: center; width: 32px; height: 32px; color: var(--focus-color, #087fbd); }
.qflc-topic-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.qflc-topic-icon img { display: block; width: 24px; height: 24px; object-fit: contain; }
.qflc-topic-logo { border-radius: 7px; background: #fff; }
.qflc-topic-copy { display: flex; flex-direction: column; min-width: 0; gap: 7px; }
.qflc-topic-name { overflow-wrap: anywhere; }
.qflc-topic-nav .qflc-topic-name { font-weight: 400; }
.qflc-topic-nav a:focus-visible,
body.page-id-5936 .qflc-ai-hot-topics a:focus-visible,
.qflc-ai-topic-directory :is(a,input,select,button):focus-visible { outline: 2px solid var(--focus-color, #087fbd); outline-offset: 3px; }
.navbar-top .qflc-ai-nav-root:focus-within > .submenu-multi-column-links { visibility: visible; opacity: 1; transform: translateY(0); transition: none; }
.navbar-top .qflc-ai-nav-root:focus-within:not(:hover) > .submenu-multi-column-links .links-column { opacity: 1; transform: none; transition: none; }
.navbar-top .qflc-ai-nav-root > .submenu-multi-column-links { max-height: calc(100vh - 59px); overflow-y: auto; overscroll-behavior: contain; }
/* More's transform otherwise makes the fixed mega panel relative to a ~134px UL.
   Keep its DOM and hover path; remove that containing block only for our root. */
.navbar-top .qflc-topic-more-parent > .sub-menu.qflc-topic-more-host { transform: none; }
.navbar-top .qflc-topic-more-parent:focus-within > .sub-menu { visibility: visible; opacity: 1; }
@media (min-width:768px) {
 .navbar-top .qflc-ai-nav-root .qflc-topic-nav-link { height: auto; max-height: none; min-height: 50px; }
 .navbar-top .qflc-topic-header-ready > .submenu-multi-column-links {
  left: 16px; right: 16px; width: auto; max-width: 1160px; margin-inline: auto;
  top: var(--qflc-topic-panel-top, 67px);
  max-height: calc(100dvh - var(--qflc-topic-viewport-top, 67px) - 12px);
  box-sizing: border-box; container-type: inline-size;
 }
 .navbar-top .qflc-topic-header-ready > .submenu-multi-column-links > .container { width: 100%; max-width: none; }
 .navbar-top .qflc-topic-header-ready > .submenu-multi-column-links .links-columns-box { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
 .navbar-top .qflc-topic-header-ready > .submenu-multi-column-links .links-column { min-width: 0; width: auto; }
 .navbar-top .qflc-topic-header-ready > .submenu-multi-column-links .link-item > a { white-space: normal; overflow-wrap: anywhere; }
 .navbar-top .qflc-ai-nav-root.qflc-topic-header-dismissed > .submenu-multi-column-links { visibility: hidden; opacity: 0; pointer-events: none; }
 /* Without this enhancement, nested More uses a readable native stacked list. */
 .navbar-top .sub-menu > .qflc-ai-nav-root:not(.qflc-topic-header-ready) > .submenu-multi-column-links { position: static; min-width: 0; max-height: 65vh; }
 .navbar-top .sub-menu > .qflc-ai-nav-root:not(.qflc-topic-header-ready) > .submenu-multi-column-links > .container { width: 100%; }
 .navbar-top .sub-menu > .qflc-ai-nav-root:not(.qflc-topic-header-ready) .links-column { width: 100%; float: none; }
 .navbar-top li:has(> .sub-menu > .qflc-ai-nav-root):focus-within > .sub-menu { visibility: visible; opacity: 1; }
 .navbar-top .sub-menu > .qflc-ai-nav-root:not(.qflc-topic-header-ready) .links-columns-box,
 .navbar-top .sub-menu > .qflc-ai-nav-root:not(.qflc-topic-header-ready) .qflc-topic-nav-grid { display: block; }
 .navbar-top .sub-menu > .qflc-ai-nav-root:not(.qflc-topic-header-ready) .link-item > a { white-space: normal; overflow-wrap: anywhere; }
}
@container (max-width:1000px) { .qflc-topic-header-ready .qflc-topic-nav-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@container (max-width:780px) { .qflc-ai-nav-root.qflc-topic-header-ready .qflc-topic-nav-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
body.page-id-5936 .qflc-ai-hot-topics { margin: 30px 0; color: var(--main-color, #333); }
body.page-id-5936 .qflc-ai-hot-topics h2 { margin: 0 0 8px; font-size: 22px; }
body.page-id-5936 .qflc-ai-hot-topics .qflc-topic-heading p { margin: 0; color: var(--muted-color, #777); font-size: 14px; }
body.page-id-5936 .qflc-ai-hot-topics .qflc-topic-grid,
.qflc-ai-topic-directory .qflc-topic-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 22px; }
body.page-id-5936 .qflc-ai-hot-topics .qflc-topic-card,
.qflc-ai-topic-directory .qflc-topic-card { display: flex; align-items: flex-start; gap: 13px; height: 100%; padding: 20px; color: var(--main-color, #333); background: var(--main-bg-color, #fff); border: 1px solid var(--main-border-color, #e5e7eb); border-radius: 12px; text-decoration: none; }
body.page-id-5936 .qflc-ai-hot-topics .qflc-topic-card:hover,
.qflc-ai-topic-directory .qflc-topic-card:hover { border-color: var(--focus-color, #087fbd); background: var(--muted-bg-color, #f8fafc); }
body.page-id-5936 .qflc-ai-hot-topics .qflc-topic-name,
.qflc-ai-topic-directory .qflc-topic-name { font-size: 16px; font-weight: 600; }
body.page-id-5936 .qflc-ai-hot-topics .qflc-topic-description,
.qflc-ai-topic-directory .qflc-topic-description { font-size: 13px; line-height: 1.7; color: var(--muted-color, #777); overflow-wrap: anywhere; }
.qflc-topic-arrow { margin-left: auto; color: var(--muted-color, #777); }
.qflc-ai-topic-directory { color: var(--main-color, #333); }
.qflc-ai-topic-directory .qflc-topic-directory-intro { margin-bottom: 24px; }
.qflc-ai-topic-directory h2 { font-size: 30px; margin: 0 0 10px; }
.qflc-ai-topic-directory .qflc-topic-directory-intro p { color: var(--muted-color, #777); }
.qflc-ai-topic-directory .qflc-topic-search { padding: 20px; border: 1px solid var(--main-border-color, #e5e7eb); border-radius: 12px; background: var(--main-bg-color, #fff); }
.qflc-ai-topic-directory .qflc-topic-search label { display: block; margin: 10px 0 7px; font-size: 13px; }
.qflc-ai-topic-directory .qflc-topic-search div { display: flex; gap: 10px; }
.qflc-ai-topic-directory :is(input,select) { max-width: 100%; min-width: 0; padding: 10px; border: 1px solid var(--main-border-color, #ccc); border-radius: 6px; background: var(--main-bg-color, #fff); color: inherit; }
.qflc-ai-topic-directory input { flex: 1; }
.qflc-ai-topic-directory button { padding: 10px 18px; background: var(--focus-color, #087fbd); color: #fff; border: 0; border-radius: 6px; }
.qflc-ai-topic-directory .qflc-topic-result { margin: 20px 0 0; color: var(--muted-color, #777); }
.qflc-ai-topic-directory .qflc-topic-group-label { font-size: 12px; color: var(--muted-color, #777); margin: 0 0 8px; }
.qflc-ai-topic-directory .qflc-topic-directory-item { display: flex; flex-direction: column; }
.qflc-ai-topic-directory .qflc-topic-pagination { display: flex; gap: 20px; align-items: center; justify-content: center; margin: 26px 0; }
.qflc-ai-topic-directory .qflc-topic-empty { grid-column: 1/-1; padding: 24px 0; }
@media (max-width:1100px) { .qflc-topic-nav .qflc-topic-nav-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media (max-width:900px) {
 body.page-id-5936 .qflc-ai-hot-topics .qflc-topic-grid,
 .qflc-ai-topic-directory .qflc-topic-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
.mobile-navbar .qflc-topic-nav .qflc-topic-nav-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; }
.mobile-navbar .qflc-topic-nav .qflc-topic-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
.mobile-navbar .qflc-topic-nav .qflc-topic-nav-link { padding: 5px 2px; gap: 5px; font-size: 13px; }
@media (max-width:540px) {
 body.page-id-5936 .qflc-ai-hot-topics .qflc-topic-heading { flex-direction: column; align-items: flex-start; gap: 10px; }
 body.page-id-5936 .qflc-ai-hot-topics .qflc-topic-grid,
 .qflc-ai-topic-directory .qflc-topic-grid { grid-template-columns: minmax(0,1fr); }
 .qflc-ai-topic-directory .qflc-topic-card,
 body.page-id-5936 .qflc-ai-hot-topics .qflc-topic-card { padding: 16px; }
}
@media (max-width:340px) { .mobile-navbar .qflc-topic-nav .qflc-topic-nav-grid { grid-template-columns: minmax(0,1fr); } }

/* 0.1.2: page modules share the portal palette; header rules above stay intact. */
/* Stable native Zibll page.php shell; only the directory's owning article. */
body.page-id-7402:not(.dark-theme) .page-article:has(.qflc-ai-topic-directory) { background: #f2f7fc; }
body.page-id-7402.dark-theme .page-article:has(.qflc-ai-topic-directory) { background: #101c30; }
body.page-id-5936 .qflc-ai-hot-topics,
body.page-id-7402 .qflc-ai-topic-directory {
 --qflc-td-text: var(--qflc-ai-text, #203249);
 --qflc-td-muted: #53667b;
 --qflc-td-border: rgba(53, 92, 126, .18);
 --qflc-td-panel: linear-gradient(135deg, #f4f9ff, #edf4fa);
 --qflc-td-card: rgba(255, 255, 255, .86);
 --qflc-td-hover: #fff;
 --qflc-td-accent: #08758a;
 --qflc-td-shadow: 0 6px 24px rgba(26, 60, 94, .045);
 color: var(--qflc-td-text);
 padding: 28px;
 border: 1px solid var(--qflc-td-border);
 border-radius: var(--qflc-ai-radius, 16px);
 background: var(--qflc-td-panel);
 box-sizing: border-box;
}
body.page-id-5936.dark-theme .qflc-ai-hot-topics,
body.page-id-7402.dark-theme .qflc-ai-topic-directory {
 --qflc-td-text: var(--qflc-ai-text, #eef4f7);
 --qflc-td-muted: #aabacc;
 --qflc-td-border: var(--qflc-ai-border, rgba(173, 216, 223, .14));
 --qflc-td-panel: linear-gradient(135deg, rgba(12, 21, 45, .94), rgba(20, 29, 63, .82));
 --qflc-td-card: rgba(24, 43, 64, .54);
 --qflc-td-hover: rgba(32, 56, 82, .76);
 --qflc-td-accent: var(--qflc-ai-cyan, #41d9e8);
 --qflc-td-shadow: 0 6px 24px rgba(2, 10, 24, .12);
}
body.page-id-5936 .qflc-ai-hot-topics { margin-block: 32px; }
body.page-id-7402 .qflc-ai-topic-directory { padding-bottom: 40px; }
body.page-id-5936 .qflc-ai-hot-topics .qflc-topic-heading,
body.page-id-7402 .qflc-ai-topic-directory .qflc-topic-directory-intro { padding-bottom: 18px; border-bottom: 1px solid var(--qflc-td-border); }
body.page-id-5936 .qflc-ai-hot-topics h2,
body.page-id-7402 .qflc-ai-topic-directory h2 { color: var(--qflc-td-text); font-weight: 650; line-height: 1.4; }
body.page-id-5936 .qflc-ai-hot-topics .qflc-topic-heading p,
body.page-id-7402 .qflc-ai-topic-directory .qflc-topic-directory-intro p { color: var(--qflc-td-muted); line-height: 1.7; margin-bottom: 0; }
body.page-id-5936 .qflc-ai-hot-topics .qflc-topic-more { color: var(--qflc-td-accent); font-size: 14px; white-space: nowrap; }
body.page-id-5936 .qflc-ai-hot-topics .qflc-topic-card,
body.page-id-7402 .qflc-ai-topic-directory .qflc-topic-card {
 min-width: 0; box-sizing: border-box; padding: 22px; gap: 14px;
 background: var(--qflc-td-card); border-color: var(--qflc-td-border);
 color: var(--qflc-td-text); box-shadow: var(--qflc-td-shadow);
 transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
body.page-id-5936 .qflc-ai-hot-topics .qflc-topic-card:is(:hover,:focus-visible),
body.page-id-7402 .qflc-ai-topic-directory .qflc-topic-card:is(:hover,:focus-visible) { background: var(--qflc-td-hover); border-color: var(--qflc-td-accent); }
body.page-id-5936 .qflc-ai-hot-topics .qflc-topic-description,
body.page-id-7402 .qflc-ai-topic-directory .qflc-topic-description,
body.page-id-7402 .qflc-ai-topic-directory :is(.qflc-topic-group-label,.qflc-topic-result) { color: var(--qflc-td-muted); }
body.page-id-5936 .qflc-ai-hot-topics :is(.qflc-topic-icon,.qflc-topic-arrow),
body.page-id-7402 .qflc-ai-topic-directory :is(.qflc-topic-icon,.qflc-topic-arrow) { color: var(--qflc-td-accent); }
body.page-id-7402 .qflc-ai-topic-directory .qflc-topic-search { background: var(--qflc-td-card); border-color: var(--qflc-td-border); padding: 20px; }
body.page-id-7402 .qflc-ai-topic-directory :is(input,select) { min-height: 44px; background: var(--qflc-td-hover); border-color: var(--qflc-td-border); color: var(--qflc-td-text); box-sizing: border-box; }
body.page-id-7402 .qflc-ai-topic-directory button { min-height: 44px; background: #08758a; cursor: pointer; }
body.page-id-7402 .qflc-ai-topic-directory .qflc-topic-search > button { margin-top: 12px; }
body.page-id-7402 .qflc-ai-topic-directory .qflc-topic-pagination { flex-wrap: wrap; margin-bottom: 0; }
body.page-id-5936 .qflc-ai-hot-topics a:focus-visible,
/* Zibll resets every outline with !important; restore it only in these modules. */
body.page-id-7402 .qflc-ai-topic-directory :is(a,input,select,button):focus-visible { outline: 2px solid var(--qflc-td-accent) !important; outline-offset: 3px; }
@media (max-width:540px) {
 body.page-id-5936 .qflc-ai-hot-topics,
 body.page-id-7402 .qflc-ai-topic-directory { padding: 18px; }
 body.page-id-7402 .qflc-ai-topic-directory { padding-bottom: 28px; }
 body.page-id-5936 .qflc-ai-hot-topics .qflc-topic-card,
 body.page-id-7402 .qflc-ai-topic-directory .qflc-topic-card { padding: 18px; }
 body.page-id-7402 .qflc-ai-topic-directory .qflc-topic-search { padding: 14px; }
 body.page-id-7402 .qflc-ai-topic-directory .qflc-topic-search div { flex-wrap: wrap; }
 body.page-id-7402 .qflc-ai-topic-directory input { flex-basis: 100%; }
 body.page-id-7402 .qflc-ai-topic-directory h2 { font-size: 25px; }
}
@media (prefers-reduced-motion:reduce) {
 body.page-id-5936 .qflc-ai-hot-topics .qflc-topic-card,
 body.page-id-7402 .qflc-ai-topic-directory .qflc-topic-card { transition: none; }
}
