:root {
    --database-accent: #ffc107;
    --database-dark: #2a2a2a;
    --database-soft: #f7f7f5;
    --database-border: #e4e4df;
    --database-muted: #6d6d6d;
}

.database-home { background: #fbfbfa; color: var(--database-dark); }
.database-hero { background: var(--database-dark); color: #fff; padding: 4rem 0; }
.database-home-kicker { color: #967000; font-size: .76rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.database-hero .database-home-kicker, .database-software-card .database-home-kicker { color: var(--database-accent); }
.database-hero-title { font-size: clamp(2.8rem, 5vw, 4.8rem); font-weight: 750; letter-spacing: -.05em; line-height: .99; }
.database-hero-lead { color: #c8c8c8; font-size: 1.1rem; line-height: 1.7; }
.database-hero-stats { display: flex; flex-wrap: wrap; gap: 2rem; }
.database-hero-stats div { display: flex; flex-direction: column; }
.database-hero-stats strong { color: var(--database-accent); font-size: 1.5rem; }
.database-hero-stats span { color: #aaa; font-size: .75rem; }
.database-featured-viewer { background: var(--database-soft); border: 1px solid #4a4a4a; border-radius: .85rem; color: var(--database-dark); overflow: hidden; }
.database-viewer-heading, .database-viewer-footer { align-items: center; display: flex; justify-content: space-between; padding: .8rem 1rem; }
.database-viewer-heading { border-bottom: 1px solid var(--database-border); }
.database-viewer-heading div { display: flex; flex-direction: column; }
.database-viewer-heading div span { color: #777; font-size: .68rem; text-transform: uppercase; }
.database-viewer-heading strong { font-size: .95rem; }
.database-viewer-code { background: #fff; border: 1px solid var(--database-border); border-radius: 999px; font-size: .68rem; font-weight: 750; padding: .3rem .5rem; }
.database-viewer-model { height: 330px; }
.database-viewer-footer { border-top: 1px solid var(--database-border); color: #777; font-size: .74rem; }
.database-viewer-footer button { background: transparent; border: 1px solid #bbb; border-radius: .35rem; color: #555; font-size: .72rem; font-weight: 700; padding: .3rem .55rem; }
.database-viewer-footer button:hover { background: var(--database-accent); border-color: var(--database-accent); }
.database-featured-empty, .database-empty { background: #fff; border: 1px solid var(--database-border); border-radius: .8rem; color: var(--database-muted); padding: 2rem; text-align: center; }
.database-home-section { padding: 3.5rem 0; }
.database-section-heading h2 { font-size: clamp(1.9rem, 3vw, 2.7rem); letter-spacing: -.035em; margin: 0; }
.database-collection-card { background: #fff; border: 1px solid var(--database-border); border-radius: .8rem; color: var(--database-dark); display: flex; flex-direction: column; min-height: 300px; padding: 1.5rem; text-decoration: none; transition: box-shadow 160ms ease, transform 160ms ease; }
.database-collection-card:hover { box-shadow: 0 .9rem 2rem rgba(42,42,42,.09); color: var(--database-dark); transform: translateY(-3px); }
.database-collection-top { align-items: center; display: flex; justify-content: space-between; margin-bottom: 1.25rem; }
.database-collection-top > span { align-items: center; background: var(--database-dark); border-radius: .55rem; color: var(--database-accent); display: flex; font-size: .75rem; font-weight: 800; height: 42px; justify-content: center; width: 42px; }
.database-collection-top strong { color: #aaa; font-size: 2.2rem; }
.database-collection-card h3 { font-size: 1.5rem; }
.database-collection-card > p { color: var(--database-muted); font-size: .9rem; line-height: 1.55; }
.database-collection-card dl { margin: .5rem 0 1rem; }
.database-collection-card dl > div { border-bottom: 1px solid #ecece8; display: flex; justify-content: space-between; padding: .42rem 0; }
.database-collection-card dt { color: #808080; font-size: .78rem; font-weight: 500; }
.database-collection-card dd { font-size: .8rem; font-weight: 750; margin: 0; }
.database-collection-link { color: #745600; font-size: .82rem; font-weight: 750; margin-top: auto; }
.recent-section { background: var(--database-soft); border-bottom: 1px solid var(--database-border); border-top: 1px solid var(--database-border); }
.recent-table-wrap { background: #fff; border: 1px solid var(--database-border); border-radius: .8rem; overflow-x: auto; }
.recent-table { border-collapse: collapse; min-width: 780px; width: 100%; }
.recent-table th { background: var(--database-dark); color: #fff; font-size: .72rem; letter-spacing: .04em; padding: .85rem 1rem; text-align: left; text-transform: uppercase; }
.recent-table td { border-bottom: 1px solid #ecece8; color: #555; font-size: .84rem; padding: .85rem 1rem; }
.recent-table tr:last-child td { border-bottom: 0; }
.recent-table tbody tr:hover { background: #fffaf0; }
.recent-table td:first-child a { color: var(--database-dark); display: block; font-weight: 750; text-decoration: none; }
.recent-table td:first-child span { color: #929292; display: block; font-size: .68rem; margin-top: .15rem; }
.recent-open { align-items: center; background: var(--database-accent); border-radius: 50%; color: #211700; display: inline-flex; font-weight: 800; height: 30px; justify-content: center; text-decoration: none; width: 30px; }
.data-card { background: #fff; border: 1px solid var(--database-border); border-radius: .8rem; height: 100%; padding: 1.5rem; }
.data-card > span { color: #987200; font-size: .75rem; font-weight: 800; letter-spacing: .08em; }
.data-card h3 { font-size: 1.15rem; margin: .65rem 0; }
.data-card p { color: var(--database-muted); font-size: .88rem; line-height: 1.6; margin: 0; }
.database-software-section { padding: 0 0 4rem; }
.database-software-card { align-items: center; background: var(--database-dark); border-radius: .9rem; color: #fff; display: flex; gap: 2rem; justify-content: space-between; padding: 2.5rem; }
.database-software-card h2 { font-size: clamp(1.7rem, 3vw, 2.6rem); letter-spacing: -.035em; }
.database-software-card p:not(.database-home-kicker) { color: #bbb; margin-bottom: 0; }
.database-software-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: .75rem; }

@media (max-width: 991.98px) {
    .database-hero { padding: 3.5rem 0; }
    .database-software-card { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 575.98px) {
    .database-hero, .database-home-section { padding: 2.75rem 0; }
    .database-viewer-model { height: 260px; }
    .database-viewer-footer { align-items: stretch; flex-direction: column; gap: .55rem; text-align: center; }
    .database-software-card { padding: 1.5rem; }
    .database-software-actions, .database-software-actions .btn { width: 100%; }
}
