.nb-faq-page {
    --nb-faq-header-bottom: 88px;
    --nb-faq-accent: #b8a0ff;
    --nb-faq-border: rgba(184, 160, 255, .14);
    /* The theme's overflow-x:hidden on body otherwise prevents sticky positioning. */
    overflow-x: clip;
}
.nb-faq-shell { padding: var(--nb-faq-header-bottom) 24px 0; background: radial-gradient(ellipse at 75% 0, rgba(105, 70, 180, .08), transparent 50%); }
.nb-faq-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 56px; max-width: 1280px; margin: 0 auto; min-height: calc(100vh - var(--nb-faq-header-bottom)); }
.nb-faq-sidebar { position: sticky; top: var(--nb-faq-header-bottom); align-self: start; height: calc(100vh - var(--nb-faq-header-bottom)); height: calc(100dvh - var(--nb-faq-header-bottom)); border-right: 1px solid var(--nb-faq-border); }
.nb-faq-toc { height: 100%; }
.nb-faq-toc-toggle { display: none; }
.nb-faq-toc-body { height: 100%; overflow-y: auto; overscroll-behavior: contain; padding: 34px 22px 24px 0; scrollbar-width: thin; }
.nb-faq-brand { display: flex; align-items: center; gap: 12px; padding: 0 10px 28px; }
.nb-faq-brand-icon { display: grid; place-items: center; flex-shrink: 0; width: 38px; height: 38px; border: 1px solid rgba(184,160,255,.3); border-radius: 12px; background: rgba(139,92,246,.12); color: #d4c4ff; }
.nb-faq-brand-icon svg { display: block; }
.nb-faq-brand strong { display: block; color: #f5f3ff; font-size: 16px; font-weight: 600; }
.nb-faq-eyebrow { display: block; color: var(--nb-faq-accent); font-size: 10px; font-weight: 600; letter-spacing: .16em; line-height: 1.8; }
.nb-faq-sidebar ul, .nb-faq-breadcrumbs ol { list-style: none; margin: 0; padding: 0; }
.nb-faq-intro-link { display: block; padding: 10px 12px; border-radius: 8px; margin-bottom: 16px; font-size: 14px; color: #d9d6e5; text-decoration: none; }
.nb-faq-tree-branch { margin: 4px 0; }
.nb-faq-group > summary { display: flex; align-items: baseline; gap: 8px; padding: 10px 8px; cursor: pointer; color: #e4e1ee; font-size: 13px; font-weight: 600; list-style: none; overflow-wrap: anywhere; }
.nb-faq-group > summary::-webkit-details-marker { display: none; }
.nb-faq-group > summary::before { content: ''; flex: 0 0 5px; height: 5px; border-right: 1.5px solid #9185a9; border-bottom: 1.5px solid #9185a9; transform: rotate(-45deg); margin-right: 2px; transition: transform .15s; }
.nb-faq-group[open] > summary::before { transform: rotate(45deg) translateY(-2px); }
.nb-faq-articles, .nb-faq-group > .nb-faq-tree { margin-left: 12px !important; padding-left: 10px !important; border-left: 1px solid var(--nb-faq-border); }
.nb-faq-question { display: block; margin: 3px 0; padding: 8px 10px; border-radius: 7px; color: #a7a1b5; font-size: 13px; line-height: 1.65; text-decoration: none; overflow-wrap: anywhere; }
.nb-faq-sidebar a:hover, .nb-faq-group > summary:hover { color: #eee7ff; background: rgba(184,160,255,.06); }
.nb-faq-sidebar a.nb-faq-question-current { color: #dbcaff; background: rgba(139,92,246,.14); box-shadow: inset 2px 0 #a78bfa; }
.nb-faq-sidebar-note, .nb-faq-empty { margin: 28px 12px 0; color: #8c849a; font-size: 12px; line-height: 1.8; }
.nb-faq-sidebar-note { padding-top: 20px; border-top: 1px solid var(--nb-faq-border); }
.nb-faq-content { min-width: 0; padding: 36px 0 64px; scroll-margin-top: calc(var(--nb-faq-header-bottom) + 20px); }
.nb-faq-breadcrumbs { margin-bottom: 36px; color: #9690a4; font-size: 12px; }
.nb-faq-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 7px 10px; }
.nb-faq-breadcrumbs li { display: inline; overflow-wrap: anywhere; }
.nb-faq-breadcrumbs li + li::before { content: '/'; color: #595263; margin-right: 10px; }
.nb-faq-breadcrumbs a { color: inherit; text-decoration: none; }
.nb-faq-breadcrumbs a:hover { color: #d4c4ff; }
.nb-faq-article-header { padding-bottom: 28px; border-bottom: 1px solid var(--nb-faq-border); margin-bottom: 30px; }
.nb-faq-article-header h1 { font-size: clamp(28px, 3.1vw, 44px); font-weight: 600; letter-spacing: -.035em; line-height: 1.2; color: #f7f5fb; margin: 12px 0 0; overflow-wrap: anywhere; }
.nb-faq-prose { color: #c4bfce; font-size: 16px; line-height: 1.85; overflow-wrap: anywhere; }
.nb-faq-prose > * { margin-top: 0; margin-bottom: 20px; }
.nb-faq-prose h2, .nb-faq-prose h3, .nb-faq-prose h4 { color: #eee9f6; line-height: 1.35; font-weight: 600; margin: 32px 0 16px; scroll-margin-top: calc(var(--nb-faq-header-bottom) + 20px); }
.nb-faq-prose h2 { font-size: 25px; letter-spacing: -.02em; }
.nb-faq-prose h3 { font-size: 20px; }
.nb-faq-prose a { color: #c1a8ff; text-underline-offset: 4px; }
.nb-faq-prose a:hover { color: #e0d2ff; }
.nb-faq-prose ul, .nb-faq-prose ol { padding-left: 26px; margin-bottom: 20px; }
.nb-faq-prose li { margin: 7px 0; }
.nb-faq-prose li > ul, .nb-faq-prose li > ol { margin-bottom: 0; }
.nb-faq-prose img, .nb-faq-prose video { max-width: 100%; height: auto; border-radius: 10px; }
.nb-faq-prose figure { max-width: 100%; }
.nb-faq-prose iframe { max-width: 100%; }
.nb-faq-prose .wp-block-embed__wrapper { overflow: hidden; }
.nb-faq-prose figcaption { color: #928a9f; font-size: 13px; line-height: 1.6; }
.nb-faq-prose blockquote { padding: 18px 22px; border-left: 3px solid #a78bfa; background: rgba(139,92,246,.07); border-radius: 0 8px 8px 0; }
.nb-faq-prose blockquote > :last-child { margin-bottom: 0; }
.nb-faq-prose pre { max-width: 100%; overflow-x: auto; background: #15121c; border: 1px solid var(--nb-faq-border); border-radius: 8px; padding: 16px; font-size: 14px; }
.nb-faq-prose code { background: rgba(184,160,255,.09); padding: 2px 5px; border-radius: 4px; }
.nb-faq-prose .wp-block-table, .nb-faq-table-scroll { overflow-x: auto; max-width: 100%; margin-bottom: 20px; }
.nb-faq-prose table { border-collapse: collapse; width: 100%; font-size: 14px; }
.nb-faq-prose > table { display: block; overflow-x: auto; }
.nb-faq-prose td, .nb-faq-prose th { padding: 12px 16px; border: 1px solid var(--nb-faq-border); text-align: left; }
.nb-faq-prose th { color: #e9e1f8; background: rgba(139,92,246,.07); }
.nb-faq-prose hr { border: 0; border-top: 1px solid var(--nb-faq-border); }
.nb-faq-preview { padding: 12px 16px; background: rgba(139,92,246,.12); color: #d4c4ff; border-radius: 8px; margin-bottom: 24px; }
.nb-faq-pagination { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 56px; padding-top: 28px; border-top: 1px solid var(--nb-faq-border); }
.nb-faq-page-link { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px; border: 1px solid var(--nb-faq-border); border-radius: 12px; text-decoration: none; transition: background .15s, border-color .15s; overflow-wrap: anywhere; }
.nb-faq-page-link span { color: #9d94ae; font-size: 12px; }
.nb-faq-page-link strong { color: #dbceeF; font-size: 14px; font-weight: 500; }
.nb-faq-page-link:hover { background: rgba(139,92,246,.06); border-color: rgba(184,160,255,.4); }
.nb-faq-page-link-next { grid-column: 2; text-align: right; }
.nb-faq-shell a:focus-visible, .nb-faq-shell summary:focus-visible { outline: 2px solid #c4aaff; outline-offset: 4px; border-radius: 5px; }
.nb-faq-content:focus { outline: none; }
.nb-faq-skip { position: fixed; left: 24px; top: -200px; z-index: 1100; background: #252031; color: #fff; padding: 12px 18px; border-radius: 8px; }
.nb-faq-skip:focus { top: calc(var(--nb-faq-header-bottom) + 8px); }
@media (min-width: 1025px) {
    .nb-faq-toc > .nb-faq-toc-body { display: block; }
}
@media (max-width: 1100px) and (min-width: 1025px) {
    .nb-faq-layout { gap: 32px; grid-template-columns: 270px minmax(0, 1fr); }
}
@media (max-width: 1024px) {
    .nb-faq-shell { padding: calc(var(--nb-faq-header-bottom) + 20px) 24px 0; }
    .nb-faq-layout { display: block; }
    .nb-faq-sidebar { position: static; height: auto; border: 1px solid var(--nb-faq-border); border-radius: 12px; background: rgba(22,18,31,.7); }
    .nb-faq-toc { height: auto; }
    .nb-faq-toc-toggle { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; color: #e4daF5; font-size: 14px; font-weight: 600; cursor: pointer; list-style: none; }
    .nb-faq-toc-toggle::-webkit-details-marker { display: none; }
    .nb-faq-toc[open] > summary span { transform: rotate(180deg); }
    .nb-faq-toc-body { max-height: 60vh; max-height: 60dvh; padding: 16px; border-top: 1px solid var(--nb-faq-border); }
    .nb-faq-brand { display: none; }
    .nb-faq-intro-link { margin-bottom: 8px; }
    .nb-faq-content { padding-top: 28px; }
    .nb-faq-breadcrumbs { margin-bottom: 28px; }
}
@media (max-width: 480px) {
    .nb-faq-shell { padding-left: 16px; padding-right: 16px; }
    .nb-faq-prose { font-size: 15px; }
    .nb-faq-prose h2 { font-size: 22px; }
    .nb-faq-pagination { grid-template-columns: 1fr; margin-top: 36px; }
    .nb-faq-page-link-next { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .nb-faq-shell *, .nb-faq-shell *::before { scroll-behavior: auto; transition: none; }
}
