/* Safari / WebKit 兼容性修复 */

/* backdrop-filter 需 -webkit- 前缀 */
.site-nav-home {
    -webkit-backdrop-filter: blur(8px);
}

.doc-topbar {
    -webkit-backdrop-filter: blur(10px);
}

/* 重置 Safari 默认按钮样式，避免文字/背景不可见 */
button,
[type="button"],
[type="submit"],
[type="reset"],
.v4l2-sidebar-toggle,
.v4l2-sidebar-expand,
.doc-menu-btn,
.doc-sidebar-collapse-btn,
#study-notes-fab,
#notes-save-btn,
.notes-tab,
.notes-header-close,
.auth-btn,
.auth-tab,
.auth-actions button,
.footer-nav a {
    -webkit-appearance: none;
    appearance: none;
    font-family: inherit;
}

/* 固定控件提升合成层，减少 Safari 下被裁切或消失 */
.site-nav-home,
.v4l2-sidebar-expand,
#study-notes-fab,
.doc-menu-btn,
.doc-sidebar-collapse-btn {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

/* 全站顶栏 + 文档顶栏叠放（使用 --site-nav-h 变量） */
body.site-has-nav .doc-topbar {
    top: calc(var(--site-nav-h, 44px) + env(safe-area-inset-top, 0px));
}

body.site-has-nav .doc-read-progress {
    top: calc(var(--site-nav-h, 44px) + env(safe-area-inset-top, 0px) + 58px);
}

body.site-has-nav .doc-sidebar {
    top: calc(var(--site-nav-h, 44px) + env(safe-area-inset-top, 0px) + 58px);
    height: calc(100dvh - var(--site-nav-h, 44px) - env(safe-area-inset-top, 0px) - 58px);
}

/* 笔记面板层级高于顶栏 */
#study-notes-panel {
    z-index: 10050;
}

#study-notes-backdrop {
    z-index: 10049;
}

/* 课程页正文顶部留白（有全站导航时） */
body.site-has-nav .double-border {
    margin-top: 4px;
}

.v4l2-sidebar-expand.visible {
    display: -webkit-flex !important;
    display: flex !important;
}

.v4l2-sidebar-expand,
#study-notes-fab {
    z-index: 10002;
}

/* 渐变文字在不支持 background-clip:text 时的回退 */
@supports not (background-clip: text) {
    .header h1 {
        -webkit-text-fill-color: #d95a3e !important;
        color: #d95a3e !important;
        background: none !important;
    }
}

/* Safari 旧版对 :has 支持不佳时，目录页仍保证全宽 */
body > .container .grid {
    width: 100%;
}
