:root {
  --t3b-header-height: 68px;
  --t3b-blue-950: #071426;
  --t3b-blue-900: #0a1f38;
  --t3b-blue-800: #0d2d50;
  --t3b-blue-700: #114477;
  --t3b-blue-600: #1760a5;
  --t3b-blue-500: #2478c4;
  --t3b-blue-100: #dceeff;
  --t3b-accent: #4ba3ff;
  --bs-primary: #1760a5;
  --bs-primary-rgb: 23, 96, 165;
  --bs-link-color: #1760a5;
  --bs-link-hover-color: #0d2d50;
}

[data-bs-theme="dark"] {
  --bs-body-bg: #07111f;
  --bs-body-bg-rgb: 7, 17, 31;
  --bs-body-color: #dce7f5;
  --bs-body-color-rgb: 220, 231, 245;
  --bs-secondary-bg: #0b1b30;
  --bs-tertiary-bg: #10253f;
  --bs-border-color: #233b56;
  --bs-emphasis-color: #ffffff;
  --bs-primary: #4ba3ff;
  --bs-primary-rgb: 75, 163, 255;
  --bs-link-color: #70b6ff;
  --bs-link-hover-color: #a8d4ff;
}

html { scroll-padding-top: calc(var(--t3b-header-height) + 1rem); }
body { min-height: 100vh; display: flex; flex-direction: column; background-image: radial-gradient(circle at 85% -10%, rgba(36,120,196,.10), transparent 28rem); }
main { flex: 1 0 auto; }
a { text-underline-offset: .18em; }

.site-header { z-index: 1030; backdrop-filter: blur(14px); background: color-mix(in srgb, var(--bs-body-bg) 90%, transparent) !important; }
.navbar { min-height: var(--t3b-header-height); }
.navbar-brand { letter-spacing: -.025em; color: var(--bs-emphasis-color); }
.brand-mark { display:inline-block; width:.72rem; height:.72rem; margin-right:.55rem; border-radius:50%; background:var(--t3b-accent); box-shadow:0 0 0 .28rem rgba(75,163,255,.14); }
.nav-link { font-weight: 550; }
.navbar .nav-link.active, .navbar .nav-link:hover { color: var(--bs-primary); }

.btn-primary { --bs-btn-bg: #1760a5; --bs-btn-border-color: #1760a5; --bs-btn-hover-bg: #114477; --bs-btn-hover-border-color: #114477; --bs-btn-active-bg: #0d2d50; --bs-btn-active-border-color: #0d2d50; }
[data-bs-theme="dark"] .btn-primary { --bs-btn-bg: #2478c4; --bs-btn-border-color: #2478c4; --bs-btn-hover-bg: #4b94d9; --bs-btn-hover-border-color: #4b94d9; }

.eyebrow { display: inline-block; margin-bottom: .55rem; color: var(--bs-primary); font-size: .76rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.page-content > *:first-child, .blog-stream > *:first-child { margin-top: 0; }
.blog-stream .frame { margin-bottom: 2.5rem; padding-bottom: 2.5rem; border-bottom: var(--bs-border-width) solid var(--bs-border-color); }
.blog-stream .frame:last-child { border-bottom: 0; }
.blog-sidebar { top: calc(var(--t3b-header-height) + 1.5rem); }
.blog-sidebar .frame, .sidebar-panel { padding: 1.35rem; margin-bottom: 1rem; border: 1px solid var(--bs-border-color); border-radius: 1rem; background: var(--bs-tertiary-bg); }

.blog-card { border-radius: 1rem; background: var(--bs-body-bg); transition: transform .18s ease, box-shadow .18s ease; }
.blog-card:hover { transform: translateY(-2px); }
.blog-card-image { max-height: 25rem; object-fit: cover; }
.blog-search { width: min(100%, 27rem); }
.blog-detail, .kb-article { max-width: 860px; }
.article-body { font-size: 1.075rem; line-height: 1.8; }
.article-body h2, .article-body h3 { margin-top: 2.2em; margin-bottom: .7em; font-weight: 750; letter-spacing: -.02em; }
.article-body img { max-width: 100%; height: auto; border-radius: .8rem; }
.article-body pre { padding: 1rem; overflow-x: auto; border-radius: .8rem; background: var(--bs-tertiary-bg); }
.article-body blockquote { padding: .25rem 0 .25rem 1.2rem; border-left: .28rem solid var(--bs-primary); color: var(--bs-secondary-color); }

.kb-page-hero, .kb-search-panel { border: 1px solid var(--bs-border-color); background: linear-gradient(135deg, rgba(23,96,165,.13), rgba(75,163,255,.03)); }
.kb-hero-icon { font-size: 6rem; color: var(--bs-primary); opacity: .7; }
.kb-category-card { border-radius: 1rem; background: var(--bs-body-bg); transition: transform .18s ease, border-color .18s ease; }
.kb-category-card:hover { transform: translateY(-2px); outline: 1px solid color-mix(in srgb, var(--bs-primary) 45%, transparent); }
.kb-icon { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: .8rem; color: var(--bs-primary); background: rgba(var(--bs-primary-rgb), .12); font-size: 1.35rem; }
.kb-article-list { border-radius: 1rem; overflow: hidden; }
.kb-article-list .list-group-item { border-color: var(--bs-border-color); }
.kb-body h2 { padding-top: .25rem; }
.support-cta { border: 1px solid rgba(var(--bs-primary-rgb), .28); background: rgba(var(--bs-primary-rgb), .08); }

.site-footer { background: linear-gradient(180deg, var(--bs-tertiary-bg), var(--bs-secondary-bg)) !important; }
.theme-toggle { min-width: 2.35rem; }
.dropdown-menu { --bs-dropdown-border-radius: .75rem; --bs-dropdown-padding-y: .45rem; box-shadow: 0 .8rem 2rem rgba(0,0,0,.09); }
.dropdown-menu .dropend > .dropdown-menu { top: 0; left: 100%; margin-top: -.5rem; margin-left: .125rem; }

@media (min-width: 992px) {
  .navbar .dropdown-menu .dropdown-toggle::after { float: right; margin-top: .55em; transform: rotate(-90deg); }
  .navbar .dropend:hover > .dropdown-menu, .navbar .dropend:focus-within > .dropdown-menu { display: block; }
}
@media (max-width: 991.98px) {
  .dropdown-menu { border: 0; padding-left: 1rem; background: transparent; box-shadow: none; }
  .dropdown-menu .dropdown-item { white-space: normal; }
  .dropdown-menu .dropend > .dropdown-menu { margin-left: .75rem; }
}
