/* 新版剩余页面与公共弹层的材质层；旧版不加载此文件。 */
.glass-page {
    --g-accent: #89adff;
    --g-panel: rgba(24, 38, 61, .92);
    --g-dialog: #18263d;
    --g-entry: rgba(28, 46, 74, .58);
    --g-soft: rgba(111, 164, 243, .075);
    --g-field: #1c2b43;
    --g-line: rgba(163, 193, 234, .2);
    --g-edge: rgba(185, 214, 252, .25);
    --g-shadow: 0 7px 26px rgba(0, 0, 0, .12);
    --g-gradient: linear-gradient(135deg, #5e93ff, #3f6fff);
    --g-success: #83d1af;
    --g-warning: #f0c779;
    --g-danger: #f1a3b0;
    --g-info: #98bdff;
    --feedback-bg-primary: var(--g-panel);
    --feedback-bg-secondary: var(--g-soft);
    --feedback-bg-tertiary: var(--g-field);
    --feedback-border: var(--g-line);
    --feedback-accent: var(--g-accent);
}
[data-theme="light"] .glass-page {
    --g-accent: #3f6fff;
    --g-panel: rgba(255, 255, 255, .9);
    --g-dialog: #fbfdff;
    --g-entry: rgba(255, 255, 255, .54);
    --g-soft: rgba(223, 236, 254, .4);
    --g-field: #f7faff;
    --g-line: rgba(134, 167, 212, .22);
    --g-edge: rgba(255, 255, 255, .94);
    --g-shadow: 0 7px 26px rgba(66, 106, 159, .055);
    --g-success: #328266;
    --g-warning: #a87930;
    --g-danger: #b75865;
    --g-info: #487ab5;
}
.glass-page.site-glass {
    --accent-primary: var(--g-accent);
    --accent-secondary: #9dbdff;
    --gradient-primary: var(--g-gradient);
    --bg-primary: var(--g-field);
    --bg-secondary: var(--g-panel);
    --bg-tertiary: var(--g-soft);
    --bg-elevated: var(--g-panel);
    --border-color: var(--g-line);
    --border-accent: rgba(84, 137, 241, .4);
    --shadow-lg: var(--g-shadow);
}
/* 导航保持最通透，正文和表格不叠加模糊，以便长时间阅读。 */
.glass-page.site-glass :is(.account-panel, .account-summary, .sv-panel, .sv-summary-card, .plan-card, .result-card,
    .activity-card, .campaign-ticket, .campaign-sharing, .invite-records, .sharing-reward, .sharing-panel,
    .admin-band, .errors-band, .finance-band, .detail-band, .video-admin-panel, .verify-card,
    .ia-filters, .ia-panel, .ia-card, .ia-table-scroll, .sharing-review, .download-wait-card) {
    border: 1px solid var(--g-edge);
    border-radius: 18px;
    background: var(--g-panel);
    box-shadow: var(--g-shadow);
}
.glass-page.site-glass :is(.admin-hero, .errors-hero, .finance-hero, .detail-hero, .video-admin-hero) {
    border: 1px solid var(--g-edge);
    border-radius: 18px;
    background: linear-gradient(115deg, var(--g-soft), transparent), var(--g-entry);
    box-shadow: var(--g-shadow);
}
.glass-page.site-glass :is(.metric-card, .summary-card, .summary-tile, .meta-item, .profile-chip,
    .sidebar-usage-card, .chart-panel, .detail-card, .chart-box, .calendar-box, .errors-box, .table-box,
    .errors-panel, .preview-box, .task-box, .video-admin-rule, .video-admin-metric, .video-tutorial-group,
    .verify-item, .verify-file, .verify-review, .verify-kpi, .verify-ai-card, .sv-status-item, .sv-record, .sv-file-item) {
    border-color: var(--g-line);
    border-radius: 12px;
    background: var(--g-soft);
    box-shadow: none;
}
.glass-page.site-glass :is(.admin-workspace, .errors-workspace, .finance-workspace, .detail-workspace,
    .verify-admin-shell, .video-admin-workspace, .ia-page, .account-shell, .sv-page, .pricing-shell, .result-shell) {
    padding-top: 24px;
}
.glass-page.site-glass :is(.account-main, .account-shell > *, .panel-grid > *, .verify-admin-grid > *, .admin-workspace > *) { min-width: 0; }
.glass-page.site-glass :is(.account-sidebar, .account-panel, .account-summary) { border-radius: 18px; }
.glass-page.site-glass .account-sidebar {
    top: var(--statau-navbar-offset);
    background: var(--g-entry);
    border-color: var(--g-edge);
    box-shadow: var(--g-shadow);
    -webkit-backdrop-filter: blur(16px) saturate(130%);
    backdrop-filter: blur(16px) saturate(130%);
}
.glass-page.site-glass .account-avatar { background: linear-gradient(135deg, rgba(124, 184, 255, .25), rgba(63, 111, 255, .08)); border-color: var(--g-line); }
.glass-page.site-glass .account-avatar i { color: var(--g-accent); }
.glass-page.site-glass :is(.account-summary .summary-tile, .verify-live-bar) { background: var(--g-soft); }
.glass-page.site-glass :is(.status-ok, .sv-status-badge.approved) { color: var(--g-success); }
.glass-page.site-glass :is(.status-soft, .sv-status-badge.pending) { color: var(--g-info); }
.glass-page.site-glass :is(.status-warn, .sv-status-badge.rejected) { color: var(--g-warning); }
.glass-page.site-glass :is(.sv-input, .sv-select, .ia-filters input:not([type="checkbox"]), .ia-filters select,
    .form-control, .form-select, .sharing-review textarea) { background-color: var(--g-field); border-color: var(--g-line); border-radius: 10px; }
.glass-page.site-glass :is(.sv-input, .sv-select, .form-control, .form-select):focus { border-color: var(--g-accent); box-shadow: 0 0 0 3px rgba(63, 111, 255, .09); }
.glass-page.site-glass :is(.sv-upload-card, .sv-upload-wide, .sv-upload-box, .sv-academic-note, .sv-lock-box) { border-color: var(--g-line); border-radius: 14px; background: var(--g-soft); }
.glass-page.site-glass :is(.sv-submit-btn, .sv-resubmit-btn, .campaign-register-btn) { background: var(--g-gradient); color: white; }
.glass-page.site-glass :is(.sv-chip-btn, .sv-back-btn, .sv-file-link) { border-color: var(--g-line); background: var(--g-entry); color: var(--g-accent); }
.glass-page.site-glass :is(.sv-help-pop, .sv-help-media) { border-color: var(--g-line); background: var(--g-panel); }
/* 套餐保留推荐层级，用白、浅蓝和中蓝区分，不保留蓝紫色块。 */
.glass-page.site-glass .plan-card { animation: none; }
.glass-page.site-glass .plan-card:hover { border-color: rgba(63, 111, 255, .32); box-shadow: 0 12px 30px rgba(63, 111, 180, .09); transform: translateY(-3px); }
.glass-page.site-glass .plan-card.is-recommended { border-color: rgba(63, 111, 255, .3); background: linear-gradient(155deg, rgba(126, 177, 255, .12), transparent 60%), var(--g-panel); box-shadow: 0 8px 28px rgba(63, 111, 255, .09); }
.glass-page.site-glass .plan-card.is-pro { border-color: var(--g-edge); background: linear-gradient(155deg, rgba(133, 203, 245, .09), transparent 65%), var(--g-panel); }
.glass-page.site-glass .plan-badge.recommended { color: var(--g-accent); background: rgba(96, 153, 255, .1); }
.glass-page.site-glass .plan-badge.current { color: var(--g-success); }
.glass-page.site-glass :is(.pricing-kicker, .purchase-rule-note) { border-color: var(--g-line); background: var(--g-entry); }
.glass-page.site-glass .pricing-header { margin-bottom: 24px; }
.glass-page.site-glass .btn-primary { background: var(--g-gradient); border-color: #3f6fff; color: #fff; }
.glass-page.site-glass .btn-outline-primary { --bs-btn-color: var(--g-accent); --bs-btn-border-color: #9bbaff; --bs-btn-hover-bg: #3f6fff; --bs-btn-hover-border-color: #3f6fff; }
.glass-page.site-glass :is(.checkout-summary, .checkout-order, .checkout-external, .history-item, .coupon-wallet-student) { border-color: var(--g-line); border-radius: 12px; background: var(--g-soft); }
.glass-page.site-glass :is(.checkout-channel-switch, .mode-switch) { background: var(--g-soft); border-color: var(--g-line); border-radius: 12px; }
.glass-page.site-glass :is(.checkout-pill.active, .mode-pill.active) { background: var(--g-panel); color: var(--g-accent); box-shadow: 0 2px 7px rgba(66, 106, 159, .06); }
.glass-page.site-glass .result-detail { background: var(--g-soft); border-color: var(--g-line); border-radius: 14px; }
.glass-page.site-glass .result-icon.pending { color: #5a91d5; background: rgba(136, 192, 255, .12); }
.glass-page.site-glass .result-icon.success { color: var(--g-success); }
.glass-page.site-glass .result-icon.failed { color: var(--g-danger); }
.glass-page.site-glass .download-wait-page { min-height: calc(100dvh - var(--statau-navbar-offset)); display: flex; align-items: center; justify-content: center; padding: 32px 16px; }
.glass-page.site-glass .download-wait-card { width: min(720px, 100%); padding: 32px 28px; position: relative; overflow: hidden; }
.glass-page.site-glass .download-wait-progress { margin-top: 24px; padding: 20px 18px; border-radius: 14px; background: var(--g-soft); border: 1px solid var(--g-line); }
.glass-page.site-glass .download-wait-btn { background: var(--g-entry); border-color: var(--g-line); border-radius: 10px; }
/* 活动插画保留原色，正文容器、票券与操作入口使用统一材质。 */
.glass-page.site-glass .activities-page { padding-top: 32px; }
.glass-page.site-glass .activities-heading { margin-bottom: 24px; }
.glass-page.site-glass .activity-cta { background: var(--g-gradient); color: #fff; border-radius: 12px; }
.glass-page.site-glass .activity-cta:hover { color: #fff; }
.glass-page.site-glass :is(.campaign-content, .sharing-body) { position: relative; }
.glass-page.site-glass .invite-campaign { --campaign-accent: var(--g-accent); }
.glass-page.site-glass .campaign-button { background: var(--g-gradient); border-radius: 12px; }
.glass-page.site-glass .campaign-button:hover { background: linear-gradient(135deg, #699cff, #4778ff); }
.glass-page.site-glass :is(.campaign-hero, .sharing-hero) { background: transparent; }
.glass-page.site-glass :is(.campaign-hero::after, .sharing-hero::after) { background: linear-gradient(0deg, rgba(232, 241, 253, .7), transparent); }
.glass-page.site-glass :is(.campaign-ticket, .campaign-sharing) { border-radius: 16px; }
.glass-page.site-glass :is(.campaign-ticket i, .campaign-ticket strong, .campaign-progress strong, .sharing-reward strong) { color: var(--g-accent); }
.glass-page.site-glass :is(.campaign-register, .campaign-join .btn-primary, .sharing-input-row button, .sharing-panel > button) { background: var(--g-gradient); color: #fff; border-color: transparent; }
.glass-page.site-glass .invite-records { padding: 20px; }
.glass-page.site-glass .sharing-reward { padding: 24px; margin-bottom: 24px; }
/* 法律三页共用连续底纹和轻透目录，正文仍采用清楚的浅底。 */
.glass-page.site-glass .legal-page { min-height: calc(100vh - var(--statau-navbar-offset)); padding: 28px 0 64px; background: transparent; }
.glass-page.site-glass .legal-card { padding: 30px; border: 1px solid var(--g-edge); border-radius: 20px; background: var(--g-panel); box-shadow: var(--g-shadow); }
.glass-page.site-glass .legal-layout { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 24px; align-items: start; }
.glass-page.site-glass .legal-sidebar { position: sticky; top: var(--statau-navbar-offset); }
.glass-page.site-glass .legal-toc { padding: 18px; border: 1px solid var(--g-line); border-radius: 14px; background: var(--g-soft); }
.glass-page.site-glass .legal-layout article > section { scroll-margin-top: calc(var(--statau-navbar-offset) + 14px); }
.glass-page.site-glass .legal-layout article { overflow-wrap: anywhere; }
/* 后台表格、工具栏和详情层次统一，保留告警、成功等语义颜色。 */
.glass-page.site-glass :is(.admin-side-chip, .hero-chip, .user-bulk-panel, .user-test-panel, .video-admin-toolbar) { border-color: var(--g-line); border-radius: 12px; background: var(--g-soft); }
.glass-page.site-glass :is(.table-shell, .table-box, .account-table-wrap, .ia-table-scroll) { border-color: var(--g-line); border-radius: 12px; overflow-x: auto; }
.glass-page.site-glass :is(.admin-table, .account-table, .ia-table, .invite-table) th { background: var(--g-soft); border-color: var(--g-line); }
.glass-page.site-glass :is(.admin-table, .account-table, .ia-table, .invite-table) td { border-color: var(--g-line); }
.glass-page.site-glass :is(.admin-table, .account-table, .ia-table, .invite-table) tbody tr:hover { background: var(--g-soft); }
.glass-page.site-glass .nav-tabs { border-color: var(--g-line); gap: 6px; }
.glass-page.site-glass .nav-tabs .nav-link { border-radius: 10px 10px 0 0; }
.glass-page.site-glass .nav-tabs .nav-link.active { border-color: var(--g-line); background: var(--g-panel); color: var(--g-accent); }
/* 所有主站弹层共用：边缘细高光，表单偏实，不把玻璃模糊铺满内容。 */
.glass-page .modal-content { border: 1px solid var(--g-edge); border-radius: 20px; background: var(--g-dialog); box-shadow: 0 16px 50px rgba(44, 77, 127, .12); }
.glass-page .modal-content :is(.modal-header, .modal-footer) { border-color: var(--g-line); background: var(--g-soft); }
.glass-page .modal-content .modal-header { border-radius: 20px 20px 0 0; }
.glass-page .modal-content .modal-footer { border-radius: 0 0 20px 20px; }
.glass-page .modal-content .modal-body { background: transparent; }
.glass-page .modal-content :is(.form-control, .form-select, .settings-select, .settings-option) { background-color: var(--g-field); border-color: var(--g-line); border-radius: 10px; color: var(--text-primary); }
.glass-page .modal-content :is(.form-control, .form-select, .settings-select):focus { border-color: var(--g-accent); box-shadow: 0 0 0 3px rgba(63, 111, 255, .1); }
.glass-page .modal-content .settings-option.active { border-color: var(--g-accent); color: var(--g-accent); background: var(--g-soft); box-shadow: none; }
.glass-page .modal-content .settings-btn-confirm { background: var(--g-gradient); color: white; box-shadow: none; }
.glass-page .auth-header { padding: 24px; color: var(--text-primary); background: linear-gradient(120deg, var(--g-soft), transparent); border-bottom: 1px solid var(--g-line); }
.glass-page .auth-header::after { content: none; }
.glass-page .auth-header h5 { color: var(--g-accent); }
.glass-page .auth-header small { color: var(--text-secondary); }
.glass-page .auth-modal-content .input-group-auth { border: 1px solid var(--g-line); background: var(--g-field); border-radius: 12px; }
.glass-page .auth-modal-content .input-group-auth:focus-within {
    border-color: var(--g-line);
    box-shadow: none;
    background: color-mix(in srgb, var(--g-field), var(--g-accent) 7%);
}
.glass-page .auth-modal-content .input-group-auth input { background: transparent; }
.glass-page #authModal .nav-pills-custom .nav-item button.nav-link { border: 1px solid var(--g-line) !important; box-shadow: none; }
.glass-page #authModal .nav-pills-custom .nav-item button.nav-link.active { border-color: var(--g-accent) !important; background: var(--g-soft) !important; box-shadow: none; }
.glass-page :is(.slider-captcha-modal-card, .feedback-modal-content) { border-color: var(--g-edge); border-radius: 18px; background: var(--g-dialog); box-shadow: var(--g-shadow); }
.glass-page :is(.statau-toast, .statau-feedback-fallback-dialog) { border-color: var(--g-line); border-radius: 14px; background: var(--g-dialog); box-shadow: var(--g-shadow); }
.glass-page .statau-feedback-btn-primary { background: var(--g-gradient); color: #fff; }
.glass-page .coupon-ticket { border-color: var(--g-line); background: var(--g-soft); }
.glass-page .so-root { --so-ring: rgba(63, 111, 255, .6); }
.glass-page .so-card { border: 1px solid var(--g-edge); border-radius: 16px; background: var(--g-dialog); box-shadow: var(--g-shadow); }
.glass-page .so-btn-primary { background: var(--g-gradient); color: #fff; }
.glass-page :is(.modal-content, .slider-captcha-modal-card) :is(button, a, input, select, textarea):focus-visible { outline: 2px solid var(--g-accent); outline-offset: 3px; }
.glass-page .auth-modal-content .input-group-auth input:focus-visible { outline: none; }
@media (max-width: 1180px) {
    .glass-page.site-glass .account-sidebar { position: static; }
}
@media (max-width: 991.98px) {
    .glass-page.site-glass .legal-layout { grid-template-columns: minmax(0, 1fr); }
    .glass-page.site-glass .legal-sidebar { position: static; }
    .glass-page.site-glass .legal-toc > div:last-child { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .glass-page.site-glass :is(.admin-hero, .video-admin-hero) { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767.98px) {
    .glass-page.site-glass .legal-page { padding: 20px 0 40px; }
    .glass-page.site-glass .legal-card { padding: 20px 16px; border-radius: 16px; }
    .glass-page.site-glass .legal-layout article > section { padding: 20px 16px !important; border-radius: 14px !important; }
    .glass-page.site-glass .download-wait-card { padding: 24px 20px; }
    .glass-page.site-glass .activity-info { padding: 24px; }
    .glass-page.site-glass .activities-page { padding: 24px 16px 48px; }
    .glass-page.site-glass .sharing-reward { padding: 18px 14px; }
    .glass-page.site-glass .ia-page { padding: 22px 16px 44px; }
    .glass-page .modal-content { border-radius: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .glass-page.site-glass :is(.plan-card, .activity-cta, .activity-art img) { transition: none; transform: none; }
}
