/* 数据目录与详情共用材质：背景连续，分类轻透，数据与表单偏实。 */
.database-glass {
    --db-card: rgba(25, 39, 62, .88);
    --db-glass: rgba(29, 46, 73, .58);
    --db-soft: rgba(98, 153, 235, .075);
    --db-tint: rgba(104, 160, 252, .12);
    --db-line: rgba(161, 191, 232, .2);
    --db-edge: rgba(185, 212, 249, .3);
    --db-shadow: 0 6px 24px rgba(0, 0, 0, .12);
}
[data-theme="light"] .database-glass {
    --db-card: rgba(255, 255, 255, .88);
    --db-glass: rgba(255, 255, 255, .5);
    --db-soft: rgba(226, 237, 253, .4);
    --db-tint: rgba(109, 163, 255, .12);
    --db-line: rgba(135, 168, 213, .22);
    --db-edge: rgba(255, 255, 255, .92);
    --db-shadow: 0 6px 24px rgba(66, 106, 159, .055);
}
.database-glass :is(.database-page, .db-modal) {
    --bg-primary: var(--db-card);
    --bg-secondary: var(--db-card);
    --bg-tertiary: var(--db-soft);
    --bg-elevated: var(--db-card);
    --border-color: var(--db-line);
    --border-accent: rgba(92, 146, 244, .4);
    --accent-primary: #3f6fff;
    --gradient-primary: linear-gradient(135deg, #5e93ff, #3f6fff);
}
[data-theme="light"] .database-glass :is(.database-page, .db-modal) {
    --text-primary: #25354d;
    --text-secondary: #596980;
    --text-muted: #74849b;
}
.database-glass .database-page { background: transparent; }
.database-glass .db-hero { padding: 32px 0 24px; }
.database-glass .db-hero::before { content: none; }
.database-glass .db-hero-title {
    margin-bottom: 12px;
    font-size: clamp(1.9rem, 3vw, 2.4rem);
    font-weight: 750;
    letter-spacing: -.035em;
    color: var(--text-primary);
    background: none;
    -webkit-text-fill-color: currentColor;
}
.database-glass .db-hero-title i { color: var(--accent-primary); font-size: .85em; }
.database-glass .db-hero-subtitle { font-size: 1.02rem; line-height: 1.8; margin: 0 auto 22px; }
.database-glass .db-search-wrapper { max-width: 760px; margin: 0 auto 20px; }
.database-glass .db-search-wrapper input {
    padding: 17px 66px 17px 22px;
    border: 1px solid var(--db-edge);
    border-radius: 18px;
    background: var(--db-card);
    box-shadow: var(--db-shadow), inset 0 1px 0 rgba(255, 255, 255, .3);
}
.database-glass .db-search-wrapper input:focus { border-color: rgba(63, 111, 255, .45); box-shadow: 0 0 0 3px rgba(63, 111, 255, .1), var(--db-shadow); }
.database-glass .db-search-btn { right: 8px; width: 42px; height: 42px; border-radius: 12px; }
.database-glass .db-search-btn:hover { box-shadow: 0 4px 14px rgba(63, 111, 255, .22); }
.database-glass .db-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 760px; gap: 12px; margin: 0 auto; }
.database-glass .db-stat-item { padding: 14px 10px; border: 1px solid var(--db-edge); border-radius: 14px; background: var(--db-glass); }
.database-glass .db-stat-num { font-size: 1.65rem; line-height: 1.25; font-weight: 750; font-variant-numeric: tabular-nums; color: #3f6fff; background: none; -webkit-text-fill-color: currentColor; }
.database-glass .db-stat-item:nth-child(2) .db-stat-num { color: #588de7; }
.database-glass .db-stat-item:nth-child(3) .db-stat-num { color: #438fcd; }
.database-glass .db-stat-item:nth-child(4) .db-stat-num { color: #6090d9; }
.database-glass .db-stat-label { font-size: .8rem; margin-top: 5px; }
.database-glass .db-main { padding: 14px 0 64px; scroll-margin-top: calc(var(--statau-navbar-offset) + 12px); }
.database-glass .db-main .row > * { min-width: 0; }
.database-glass .db-sidebar {
    top: var(--statau-navbar-offset);
    padding: 16px 8px 8px;
    border: 1px solid var(--db-edge);
    border-radius: 16px;
    background: var(--db-glass);
    box-shadow: var(--db-shadow), inset 0 1px 0 rgba(255, 255, 255, .3);
    -webkit-backdrop-filter: blur(16px) saturate(130%);
    backdrop-filter: blur(16px) saturate(130%);
}
.database-glass .db-sidebar-title { padding: 0 14px; margin-bottom: 14px; letter-spacing: .04em; }
.database-glass .db-cat-item { padding: 12px 14px; margin: 3px 0; border: 0; border-radius: 9px; gap: 8px; font-size: .92rem; }
.database-glass .db-cat-item > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.database-glass .db-cat-item:hover { background: var(--db-soft); }
.database-glass .db-cat-item.active { background: var(--db-tint); box-shadow: inset 3px 0 #3f6fff; }
.database-glass .db-cat-badge { flex-shrink: 0; background: var(--db-soft); }
.database-glass .db-cat-item.active .db-cat-badge { background: var(--db-card); }
.database-glass .db-admin-entry { margin-top: 12px; padding-top: 10px; }
.database-glass .db-content-header { padding: 10px 14px 10px 18px; margin-bottom: 16px; border: 1px solid var(--db-edge); border-radius: 14px; background: var(--db-glass); }
.database-glass .db-breadcrumb { font-size: .9rem; overflow-wrap: anywhere; }
.database-glass .db-view-toggle { border: 1px solid var(--db-line); border-radius: 10px; background: var(--db-soft); }
.database-glass .db-view-btn { border-radius: 7px; }
.database-glass .db-view-btn.active { background: var(--db-card); box-shadow: 0 2px 6px rgba(70, 106, 155, .06); }
.database-glass .db-var-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.database-glass .db-var-card { min-width: 0; padding: 22px; border: 1px solid var(--db-edge); border-radius: 18px; background: var(--db-card); box-shadow: var(--db-shadow); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.database-glass .db-var-card:hover { border-color: rgba(92, 146, 244, .4); box-shadow: 0 10px 24px rgba(63, 111, 200, .1); }
.database-glass .db-var-card-head { gap: 12px; margin-bottom: 14px; }
.database-glass .db-var-card-head > div:first-child { min-width: 0; }
.database-glass .db-var-name { font-size: 1.02rem; font-weight: 700; overflow-wrap: anywhere; }
.database-glass .db-var-code { color: var(--text-secondary); overflow-wrap: anywhere; }
.database-glass .db-var-freq { color: #3976ac; background: rgba(126, 193, 241, .13); }
.database-glass .db-var-desc { min-height: 2.9em; line-height: 1.7; margin-bottom: 16px; }
.database-glass .db-var-meta { gap: 8px 14px; padding-top: 14px; border-top: 1px solid var(--db-line); font-size: .78rem; }
.database-glass .db-var-meta > span { min-width: 0; overflow-wrap: anywhere; }
.database-glass :is(.db-member-badge, .db-restricted-note) { color: var(--accent-primary); border-color: rgba(63, 111, 255, .17); background: var(--db-tint); }
/* 列表与网格共用卡片材质；较窄时改为上下排列，避免多列内容互相挤压。 */
.database-glass .db-var-grid.list-view { grid-template-columns: minmax(0, 1fr); }
.database-glass .db-var-grid.list-view .db-var-card { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 12px 24px; }
.database-glass .list-view .db-var-card-head { min-width: 0; margin: 0; }
.database-glass .list-view .db-var-desc { min-height: 0; margin: 0; -webkit-line-clamp: 2; }
.database-glass .list-view .db-var-meta { grid-column: 1 / -1; min-width: 0; justify-content: flex-start; }
.database-glass .db-pagination { flex-wrap: wrap; }
.database-glass .db-page-btn { background: var(--db-card); border-color: var(--db-line); border-radius: 10px; }
.database-glass .db-page-btn.active { background: var(--gradient-primary); color: #fff; }
.database-glass .db-empty { grid-column: 1 / -1; border: 1px dashed var(--db-line); border-radius: 18px; background: var(--db-glass); }
/* 详情、变量选择、预览及后台弹层保持同组浅底和细分隔线。 */
.database-glass .db-modal .modal-content, .database-glass .db-admin-panel { border: 1px solid var(--db-edge); border-radius: 20px; background: var(--db-card); box-shadow: var(--db-shadow); }
.database-glass .db-modal .modal-header { border-color: var(--db-line); background: linear-gradient(115deg, var(--db-tint), transparent); border-radius: 20px 20px 0 0; }
[data-theme="light"] .database-glass .db-modal .btn-close { filter: none; }
.database-glass :is(.db-detail-item, .db-transfer-panel, .db-login-hint, .db-edit-variable-card) { border: 1px solid var(--db-line); background: var(--db-soft); border-radius: 12px; }
.database-glass .db-preview-table th { border-bottom: 1px solid var(--db-line); background: var(--db-tint); }
.database-glass .db-preview-table tbody tr:nth-child(even) { background: var(--db-soft); }
.database-glass .db-transfer-item.locked { border-color: rgba(63, 111, 255, .2); background: var(--db-tint); }
.database-glass :is(.db-preview-wrap, .db-transfer-list, .db-edit-variable-list) { scrollbar-color: #a8c4ed transparent; }
.database-glass :is(.db-preview-wrap, .db-transfer-list, .db-edit-variable-list)::-webkit-scrollbar-thumb { background: #a8c4ed; border-radius: 999px; }
.database-glass :is(.db-preview-wrap, .db-transfer-list, .db-edit-variable-list)::-webkit-scrollbar-thumb:hover { background: #82abeb; }
.database-glass :is(.db-transfer-search input:focus, .db-admin-panel .form-control:focus, .db-admin-panel .form-select:focus) { box-shadow: 0 0 0 3px rgba(63, 111, 255, .1); }
.database-glass .db-download-btn:hover { box-shadow: 0 5px 16px rgba(63, 111, 255, .2); }
.database-glass .db-admin-panel h4 { border-bottom: 1px solid var(--db-line); }
.database-glass :is(.database-page, .db-modal) :is(a, button, input, select, summary):focus-visible { outline: 2px solid #3f6fff; outline-offset: 3px; }
@media (max-width: 1199.98px) {
    .database-glass .db-var-card-head { flex-wrap: wrap; }
}
@media (max-width: 991.98px) {
    .database-glass .db-sidebar { position: static; margin-bottom: 20px; padding: 14px 10px 8px; }
    .database-glass .db-cat-list { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 6px; }
    .database-glass .db-cat-list > li { flex-shrink: 0; }
    .database-glass .db-cat-item { gap: 12px; white-space: nowrap; padding: 10px 12px; }
    .database-glass .db-cat-item.active { box-shadow: inset 0 -2px #3f6fff; }
}
@media (max-width: 767.98px) {
    .database-glass .db-hero { padding-top: 24px; }
    .database-glass .db-hero-subtitle { max-width: 34em; padding: 0 8px; font-size: .92rem; }
    .database-glass .db-search-wrapper input { font-size: .9rem; padding-left: 16px; }
    .database-glass .db-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .database-glass .db-stat-item { padding: 12px 8px; }
    .database-glass .db-stat-num { font-size: 1.4rem; }
    .database-glass .db-var-grid { grid-template-columns: minmax(0, 1fr); }
    .database-glass .db-var-card { padding: 20px; border-radius: 16px; }
    .database-glass .db-var-card-head { flex-wrap: nowrap; }
    .database-glass .db-var-grid.list-view .db-var-card { grid-template-columns: minmax(0, 1fr); }
    .database-glass .db-content-header { padding: 10px 12px; }
    .database-glass .db-admin-panel { padding: 20px; }
}
@media (max-width: 419.98px) {
    .database-glass .db-var-card-head { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
    .database-glass :is(.db-var-card, .db-search-btn, .db-cat-item, .db-view-btn, .db-page-btn, .db-transfer-item) { transition: none; }
}
