/* Public presentation only. Admin/auth keep their independent dark theme. */
.public-hybrid {
  color-scheme: light;
  --bg-page: #f3f6fa;
  --bg-panel: #fff;
  --bg-elevated: #edf1f6;
  --bg-deep: #e9eef4;
  --border: #dfe6ee;
  --border-strong: #b7c3d1;
  --text: #141c29;
  --text-secondary: #4c5b70;
  --muted: #536277;
  --subtle: #5f6e81;
  --accent: #ed1538;
  --accent-hover: #cf1030;
  --accent-muted: #fff0f3;
  --shadow: 0 2px 6px #23354c06, 0 8px 24px #23354c04;
  background: var(--bg-page);
  color: var(--text);
}
.public-hybrid :is(.site-header, .hero, .site-footer, .demo-strip) {
  color-scheme: dark;
  --bg-page: #070b10;
  --bg-panel: #0c1219;
  --bg-elevated: #131c26;
  --bg-deep: #06090d;
  --border: #24313f;
  --text: #f5f7fa;
  --text-secondary: #b3bfcc;
  --muted: #aab7c7;
  color: var(--text);
}
.public-hybrid .site-header { border-bottom-color: #202a35; }
.public-hybrid :is(.section-heading h2, .content-panel h2, .sidebar-panel > h2) {
  display: flex;
  align-items: center;
  gap: 10px;
}
.public-hybrid :is(.section-heading h2, .sidebar-panel > h2)::before {
  content: '';
  width: 20px;
  height: 2px;
  background: var(--accent);
  flex: 0 0 auto;
}
.public-hybrid .homepage-content { padding-top: 26px; }
.public-hybrid .category-section > .section-heading h2 { font-size: 19px; }
.public-hybrid .text-link { color: #195cb5; }
.public-hybrid .text-link:hover { color: #103e7d; }
.public-hybrid :is(.category-card, .software-card, .sidebar-panel, .vehicle-brand-card, .all-brands-card, .reference-card, .guide-card) {
  background: #fff;
  border-color: var(--border);
  box-shadow: var(--shadow);
}
.public-hybrid :is(.category-card, .software-card, .vehicle-brand-card, .all-brands-card, .reference-card, .guide-card):hover {
  background: #fff;
  border-color: #b8c5d5;
}
.public-hybrid .category-card-copy { padding-block: 12px; }
.public-hybrid .category-card h3 { font-size: 12px; line-height: 1.4; }
.public-hybrid .category-card p { color: var(--text-secondary); font-size: 11px; line-height: 1.6; }
.public-hybrid .category-card-copy > .icon { color: var(--accent); }
.public-hybrid .category-count { color: var(--muted); }
.public-hybrid .brand-section { margin-top: 28px; }
.public-hybrid :is(.vehicle-brand-card, .all-brands-card) { min-height: 84px; }
.public-hybrid .vehicle-monogram {
  background: #f3f6fa;
  color: #30455f;
  border-color: #c2cedb;
  box-shadow: inset 0 0 0 3px #fff;
}
.public-hybrid .brand-count { color: var(--muted); font-size: 10px; }
.public-hybrid .section-label {
  background: #ffe8ed;
  color: #b60c29;
  border-color: #ffd1dc;
  padding: 4px 9px;
}
.public-hybrid .home-database-layout { margin-top: 32px; }
.public-hybrid .software-card-media {
  margin: 0;
  border-radius: 0;
  aspect-ratio: 16 / 9;
  background: #17212d;
}
.public-hybrid .software-card-body { padding: 13px; gap: 9px; }
.public-hybrid .software-card-title { align-items: start; }
.public-hybrid .software-card-title h3 { font-size: 14px; line-height: 1.4; }
.public-hybrid .version {
  background: #edf1f6;
  color: #3b4e66;
  border-color: #dfe6ee;
}
.public-hybrid :is(.card-system, .card-description, .compact-meta, .compact-end, .software-card-footer time) { color: var(--text-secondary); }
.public-hybrid .card-system { font-size: 11px; }
.public-hybrid .card-system .icon { color: #62758d; }
.public-hybrid .card-description { font-size: 13px; line-height: 1.65; min-height: 4.95em; }
.public-hybrid .software-card-footer { gap: 8px; flex-wrap: wrap; border-color: var(--border); }
.public-hybrid .software-card-footer time { font-size: 10px; }
.public-hybrid .software-card-footer .button { margin-left: auto; }
.public-hybrid .button-small { min-height: 34px; font-size: 11px; padding: 6px 10px; }
.public-hybrid :is(.tag, .tag-neutral) { background: #edf1f6; color: #3a4b61; border-color: #e1e7ef; }
.public-hybrid a.tag:hover { background: #fff0f3; color: #b60c29; border-color: #edb6c3; }
.public-hybrid .card-tags .tag { font-size: 10px; }
.public-hybrid .example-label { font-size: 10px; color: #637186; }
.public-hybrid .example-notice { background: #eaf0f7; border-color: #a5b5c8; border-radius: 0 4px 4px 0; padding-block: 8px; }
.public-hybrid .sidebar-panel { padding: 17px; }
.public-hybrid .database-stats dt { color: var(--text-secondary); font-size: 11px; }
.public-hybrid .compact-sidebar h3 { font-size: 12px; line-height: 1.45; }
.public-hybrid .compact-sidebar .compact-meta { font-size: 10px; line-height: 1.6; }
.public-hybrid .compact-sidebar .compact-end { font-size: 9px; }
.public-hybrid .compact-thumbnail { border-color: var(--border); }
.public-hybrid .guide-compact { box-shadow: none; }
.public-hybrid .guide-compact h3 { font-size: 12px; line-height: 1.5; }
.public-hybrid .guide-compact .text-link { font-size: 11px; }
.public-hybrid .guide-card .eyebrow { color: #bf1535; }
.public-hybrid :is(.module-panel > a, .filter-module-links > a) { color: #35465d; border-color: var(--border); }
.public-hybrid :is(.module-panel > p, .filter-help > p, .reference-note > p, .guide-lead, .article-meta, .software-lead, .prose, .compatibility-note, .small-note) { color: var(--text-secondary); }
.public-hybrid .search-form.search-catalog,
.public-hybrid .hero .search-form { background: #fff; border-color: #d1dbe6; box-shadow: 0 3px 14px #0000000a; }
.public-hybrid .search-catalog input,
.public-hybrid .hero .search-form input { color: #182536; }
.public-hybrid :is(.search-catalog, .hero .search-form) > .icon { color: #43546a; }
.public-hybrid :is(.search-catalog, .hero .search-form) input::placeholder { color: #637186; }
.public-hybrid .search-form button:hover,
.public-hybrid .button:hover { background: var(--accent-hover); }
.public-hybrid .search-header button:hover { background: #24313e; }
.public-hybrid .button.secondary { background: #fff; border-color: #c5cfdb; color: #293c54; }
.public-hybrid .button.secondary:hover { background: #edf1f6; }
.public-hybrid :is(.filter-sidebar, .record-total) { background: #fff; border-color: var(--border); box-shadow: var(--shadow); }
.public-hybrid :is(.record-total strong, .results-bar strong, .breadcrumbs [aria-current], .reference-page-heading h1 > span) { color: var(--text); }
.public-hybrid :is(.results-bar, .breadcrumbs, .pagination, .detail-brand-badges > span) { color: var(--text-secondary); }
.public-hybrid .breadcrumbs a,
.public-hybrid .page-heading > p:last-child { color: var(--text-secondary); }
.public-hybrid .record-total { color: var(--muted); }
.public-hybrid :is(.article-lead, .article-metadata) { color: var(--text-secondary); }
.public-hybrid .filter-group select { background: #f8fafc; color: #293c54; border-color: #ccd6e2; }
.public-hybrid :is(.filter-heading, .filter-help, .filter-module-links, .pagination a, .metadata-grid > div, .detail-quick-facts, .changelog-entry) { border-color: var(--border); }
.public-hybrid :is(.software-icon, .reference-heading-icon) { background: #fff; color: var(--accent); border-color: var(--border); }
.public-hybrid .software-detail-page .software-detail-top {
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: start;
  padding-block: 8px 12px;
}
.public-hybrid .software-detail-page .software-access { display: block; }
.public-hybrid .software-detail-page .software-heading-line { margin-bottom: 10px; }
.public-hybrid .software-detail-page .software-summary h1 { font-size: clamp(29px, 3vw, 38px); margin-bottom: 10px; }
.public-hybrid .software-detail-page .software-lead { font-size: 15px; max-width: 66ch; }
.public-hybrid .software-detail-page .detail-quick-facts { gap: 10px 22px; color: #3d4f65; }
.public-hybrid .detail-quick-facts .icon { color: #60748c; }
.public-hybrid .software-detail-page .download-panel {
  background: #fff;
  border-color: var(--border);
  border-top-color: var(--accent);
  box-shadow: var(--shadow);
}
.public-hybrid .software-detail-page .download-panel-icon { background: #fff0f3; border-color: #ffd3de; }
.public-hybrid .download-facts dt { color: var(--muted); }
.public-hybrid .download-facts dd { color: #293c54; }
.public-hybrid .download-panel .button:disabled { background: #e9eef4; color: #596b80; border-color: #d3dde8; }
.public-hybrid .software-detail-page .detail-section-nav {
  top: 68px;
  padding-block: 10px;
  background: #ffffffed;
  border-color: var(--border);
  box-shadow: 0 4px 12px #263c5710;
}
.public-hybrid .detail-section-nav > a { color: #40536b; }
.public-hybrid .detail-section-nav > a:hover { color: #bd1030; }
.public-hybrid .software-detail-page .detail-layout { grid-template-columns: minmax(0, 1fr) 320px; }
.public-hybrid .software-detail-page .content-panel { box-shadow: var(--shadow); scroll-margin-top: 142px; }
.public-hybrid .content-panel h2 { font-size: 19px; }
.public-hybrid .content-panel h2 > .icon { color: var(--accent); width: 18px; }
.public-hybrid .prose { font-size: 15px; }
.public-hybrid .metadata-grid dt { color: var(--muted); }
.public-hybrid .metadata-grid dd { color: #293c54; }
.public-hybrid :is(th, td) { color: #40536b; border-color: var(--border); }
.public-hybrid th { color: #182536; background: #f8fafc; }
.public-hybrid .checksum-block code { color: #354b65; }
.public-hybrid .changelog-entry time { color: var(--muted); }
.public-hybrid .software-detail-page .detail-reference-sidebar { position: static; max-height: none; overflow: visible; padding: 0; margin: 0; }
.public-hybrid .detail-cover figcaption { color: var(--muted); font-size: 11px; }
.public-hybrid .screenshot-stage figcaption { color: var(--muted); }
.public-hybrid .site-footer { padding-top: 32px; }
.public-hybrid .site-footer .text-link { color: #b6cbe5; }
@media (max-width: 1350px) and (min-width: 901px) {
  .public-hybrid .home-database-layout { grid-template-columns: minmax(0, 1fr) 285px; }
  .public-hybrid .home-database-main .software-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1120px) and (min-width: 641px) {
  .public-hybrid .category-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .public-hybrid .software-detail-page :is(.software-detail-top, .detail-layout) { grid-template-columns: 1fr; }
  .public-hybrid .software-detail-page .detail-section-nav { position: static; }
  .public-hybrid .software-detail-page .content-panel { scroll-margin-top: 85px; }
}
@media (max-width: 640px) {
  .public-hybrid .homepage-content { padding-top: 22px; }
  .public-hybrid .category-section > .section-heading h2 { font-size: 17px; }
  .public-hybrid .section-heading h2 { font-size: 19px; }
  .public-hybrid .section-heading h2::before { width: 14px; }
  .public-hybrid .software-card-body { padding: 16px; }
  .public-hybrid .software-card-title h3 { font-size: 17px; }
  .public-hybrid .software-card-footer time { font-size: 11px; }
  .public-hybrid .button-small { min-height: 42px; padding-inline: 14px; font-size: 12px; }
  .public-hybrid .compact-sidebar h3 { font-size: 13px; }
  .public-hybrid .hero .search-form input,
  .public-hybrid .search-catalog input { font-size: 16px; }
  .public-hybrid .software-detail-page .detail-section-nav { gap: 16px; }
  .public-hybrid .software-detail-page .software-detail-top { gap: 16px; }
}

/* Shared category cards on the home page and reference index. */
.public-hybrid .catalog-category-card{display:flex;flex-direction:column;height:100%;padding:0;overflow:hidden;background:#fff;border:1px solid #dce3eb;border-radius:12px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.public-hybrid .catalog-category-card:hover,.public-hybrid .catalog-category-card:focus-visible{border-color:#d52a35;box-shadow:0 5px 18px #17243b12;transform:translateY(-2px)}
.public-hybrid .catalog-category-card .category-image{position:relative;flex:none;width:100%;height:auto;aspect-ratio:16/10;margin:0;overflow:hidden;border-radius:0;background:#e9eef3}
.public-hybrid .catalog-category-card .category-image img{object-fit:cover}
.public-hybrid .catalog-category-card .category-card-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:16px;min-width:0}
.public-hybrid .catalog-category-card h2,.public-hybrid .catalog-category-card h3{margin:0 0 7px;font-size:15px;line-height:1.35;color:#17243b}
.public-hybrid .catalog-category-card .category-description{margin:0;font-size:12px;line-height:1.65;color:#596579}
.public-hybrid .catalog-category-card .category-explore{position:static;margin-top:auto;padding-top:12px;align-self:flex-end;font-size:12px}
.public-hybrid .catalog-category-card .category-explore .icon{position:static}
.public-hybrid .catalog-category-card .eyebrow{font-size:10px;margin:0 0 8px}
@media(max-width:640px){.public-hybrid .catalog-category-card .category-card-copy{padding:14px}.public-hybrid .catalog-category-card h2,.public-hybrid .catalog-category-card h3{font-size:14px}}

.public-hybrid .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(min-width:1121px){.public-hybrid .category-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:640px){.public-hybrid .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

