/**
 * 设置抽屉 MD3 覆盖样式
 * 清除非 MD3 元素：主题/语言下拉框双层边框等
 * 与 md3-reset、search-select-fix 一致：仅保留 border 变色，移除 outline/box-shadow 叠加
 */

/* 右侧抽屉整体卡片化（整块一张卡） */
#settingsDrawer.mdc-drawer,
.mdc-drawer#settingsDrawer {
    top: var(--sanxio-drawer-card-block-inset, 10px) !important;
    right: var(--sanxio-drawer-card-side-inset, 0px) !important;
    left: auto !important;
    bottom: var(--sanxio-drawer-card-block-inset, 10px) !important;
    width: var(--sanxio-drawer-card-width, 360px) !important;
    height: auto !important;
    max-height: var(--sanxio-drawer-card-max-height, calc(100dvh - 20px)) !important;
    border-radius: var(--sanxio-drawer-card-radius, 24px) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    background-color: var(--md-sys-color-surface, #fef7ff) !important;
    border: var(--sanxio-drawer-card-border, 1px solid var(--md-sys-color-outline-variant, rgba(0, 0, 0, 0.12))) !important;
    box-shadow: var(--sanxio-drawer-card-shadow, var(--md-sys-elevation-level3, 0 4px 8px 3px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.3))) !important;
    display: flex !important;
    flex-direction: column !important;
}

:root[data-theme="dark"] #settingsDrawer.mdc-drawer,
:root.theme-dark #settingsDrawer.mdc-drawer,
:root[data-theme="dark"] .mdc-drawer#settingsDrawer,
:root.theme-dark .mdc-drawer#settingsDrawer {
    background-color: var(--md-sys-color-surface, #141218) !important;
    box-shadow: var(--sanxio-drawer-card-shadow-dark, var(--md-sys-elevation-level3, 0 4px 8px 3px rgba(0, 0, 0, 0.35), 0 1px 3px rgba(0, 0, 0, 0.5))) !important;
}

/* dialog.css 里 .mdc-settings-item-label、.mdc-drawer__title 等使用正文字体，会继承到子节点，
 * Material Symbols 必须用独立 font-family，否则会显示成 manage_accounts、chevron_right 等英文 */
#settingsDrawer :is(.material-symbols-outlined, .mdc-settings-drawer-content .material-symbols-outlined) {
    font-family: 'Material Symbols Outlined', sans-serif !important;
    font-weight: normal !important;
    font-style: normal !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    white-space: nowrap !important;
    word-wrap: normal !important;
    direction: ltr !important;
    font-feature-settings: 'liga' !important;
    -webkit-font-feature-settings: 'liga' !important;
    -webkit-font-smoothing: antialiased !important;
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24 !important;
}

/* 标题行：标准蓝（Material Blue 700，非青绿）；垂直内边距收紧 */
#settingsDrawer .mdc-drawer__header {
    background: #1976d2 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12) !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    min-height: 0 !important;
    box-shadow: none !important;
    flex-shrink: 0 !important;
}

#settingsDrawer .mdc-drawer__content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
}

#settingsDrawer .mdc-settings-drawer-content {
    min-height: min-content !important;
}

/* 深色模式：cyan-extra-bright-A — 底 #18FFFF、字 #001218（与 md3-reset on-primary 一致），避免浅顶栏 + 浅色字看不清 */
:root[data-theme="dark"] #settingsDrawer .mdc-drawer__header,
:root.theme-dark #settingsDrawer .mdc-drawer__header {
    background: var(--md-sys-color-primary, #18ffff) !important;
    border-bottom: 1px solid rgba(0, 18, 24, 0.14) !important;
}

/* 覆盖 dialog.css 的 headline：改用 title-large；饱和蓝底用白字 */
#settingsDrawer .mdc-drawer__title {
    font-family: var(--md-sys-typescale-title-large-font) !important;
    font-size: var(--md-sys-typescale-title-large-size) !important;
    font-weight: var(--md-sys-typescale-title-large-weight) !important;
    line-height: 1.2 !important;
    gap: 8px !important;
    color: #ffffff !important;
}

:root[data-theme="dark"] #settingsDrawer .mdc-drawer__title,
:root.theme-dark #settingsDrawer .mdc-drawer__title {
    color: var(--md-sys-color-on-primary, #001218) !important;
}

#settingsDrawer .mdc-drawer__title-icon {
    font-size: 22px !important;
    width: 22px !important;
    height: 22px !important;
    color: #ffffff !important;
}

:root[data-theme="dark"] #settingsDrawer .mdc-drawer__title-icon,
:root.theme-dark #settingsDrawer .mdc-drawer__title-icon {
    color: var(--md-sys-color-on-primary, #001218) !important;
}

#settingsDrawer .mdc-drawer__close {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    color: #ffffff !important;
}

:root[data-theme="dark"] #settingsDrawer .mdc-drawer__close,
:root.theme-dark #settingsDrawer .mdc-drawer__close {
    color: var(--md-sys-color-on-primary, #001218) !important;
}

#settingsDrawer .mdc-drawer__close:hover {
    background-color: rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
}

:root[data-theme="dark"] #settingsDrawer .mdc-drawer__close:hover,
:root.theme-dark #settingsDrawer .mdc-drawer__close:hover {
    background-color: rgba(0, 18, 24, 0.08) !important;
    color: var(--md-sys-color-on-primary, #001218) !important;
}

#settingsDrawer .mdc-drawer__close .material-symbols-outlined {
    font-size: 22px !important;
}

@media (max-width: 767px) {
    #settingsDrawer.mdc-drawer,
    .mdc-drawer#settingsDrawer {
        top: var(--sanxio-drawer-card-block-inset, 10px) !important;
        right: var(--sanxio-drawer-card-side-inset, 0px) !important;
        bottom: var(--sanxio-drawer-card-block-inset, 10px) !important;
        width: min(var(--sanxio-drawer-card-width, 360px), calc(100vw - (var(--sanxio-drawer-card-side-inset, 0px) * 2))) !important;
        max-height: var(--sanxio-drawer-card-max-height, calc(100dvh - 20px)) !important;
        border-radius: var(--sanxio-drawer-card-radius, 20px) !important;
    }

    #settingsDrawer .mdc-drawer__header {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }
}

/* 主题、语言下拉框：focus 时去掉 outline，避免与 border 叠加形成双层边框 */
#settingsDrawer :is(.mdc-theme-select:focus, .mdc-settings-drawer-content .mdc-theme-select:focus) {
    outline: none !important;
    box-shadow: none !important;
}

/* 主题/语言下拉框：统一 MD3 外观（输入框本体） */
#settingsDrawer :is(.mdc-theme-select, .mdc-settings-drawer-content .mdc-theme-select) {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 100% !important;
    min-height: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    border: 1px solid var(--md-sys-color-outline, #79747e) !important;
    background-color: var(--md-sys-color-surface, #ffffff) !important;
    color: var(--md-sys-color-on-surface, #1d1b20) !important;
    padding: 0 36px 0 12px !important;
    line-height: 44px !important;
    font-size: 14px !important;
    font-family: var(--md-sys-typescale-body-medium-font, 'PingFang SC', 'Microsoft YaHei', 'Roboto', sans-serif) !important;
    font-weight: var(--md-sys-typescale-body-medium-weight, 400) !important;
    box-sizing: border-box !important;
    text-indent: 0 !important;
    vertical-align: middle !important;
    background-image:
        linear-gradient(45deg, transparent 50%, currentColor 50%),
        linear-gradient(135deg, currentColor 50%, transparent 50%);
    background-position:
        calc(100% - 18px) calc(50% - 2px),
        calc(100% - 12px) calc(50% - 2px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    color-scheme: light !important;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}

#settingsDrawer :is(.mdc-theme-select:hover, .mdc-settings-drawer-content .mdc-theme-select:hover) {
    border-color: var(--md-sys-color-on-surface, #1d1b20) !important;
    background-color: var(--md-sys-color-surface, #ffffff) !important;
}

#settingsDrawer :is(.mdc-theme-select:focus, .mdc-settings-drawer-content .mdc-theme-select:focus) {
    border-color: var(--md-sys-color-primary, #1976d2) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--md-sys-color-primary, #1976d2) 22%, transparent) !important;
}

/* option 列表保持系统原生配色，避免 Edge 上出现异常深色高亮条 */
#settingsDrawer :is(.mdc-theme-select option, .mdc-settings-drawer-content .mdc-theme-select option) {
    background-color: var(--md-sys-color-surface, #ffffff) !important;
    color: var(--md-sys-color-on-surface, #1d1b20) !important;
    line-height: 1.4 !important;
}

:root[data-theme="dark"] #settingsDrawer :is(.mdc-theme-select, .mdc-settings-drawer-content .mdc-theme-select),
:root.theme-dark #settingsDrawer :is(.mdc-theme-select, .mdc-settings-drawer-content .mdc-theme-select) {
    background-color: var(--md-sys-color-surface, #141218) !important;
    border-color: var(--md-sys-color-outline, #938f99) !important;
    color: var(--md-sys-color-on-surface, #e6e1e5) !important;
    color-scheme: dark !important;
}

#settingsDrawer .mdc-settings-item--vertical {
    align-items: stretch !important;
}

#settingsDrawer .mdc-settings-item--vertical .mdc-settings-item-content {
    width: 100% !important;
}

#settingsDrawer .mdc-settings-item--vertical .mdc-settings-item-label {
    justify-content: flex-start !important;
    text-align: left !important;
}

#settingsDrawer .mdc-settings-item--vertical .mdc-theme-select {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: block !important;
}

:root[data-theme="dark"] #settingsDrawer :is(.mdc-theme-select option, .mdc-settings-drawer-content .mdc-theme-select option),
:root.theme-dark #settingsDrawer :is(.mdc-theme-select option, .mdc-settings-drawer-content .mdc-theme-select option) {
    background-color: var(--md-sys-color-surface, #141218) !important;
    color: var(--md-sys-color-on-surface, #e6e1e5) !important;
}

/* MD3 custom select card: popup width equals trigger width */
#settingsDrawer .mdc-theme-select--native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

#settingsDrawer .mdc-select-card {
    position: relative !important;
    width: 100% !important;
    z-index: 1 !important;
}

#settingsDrawer .mdc-select-card__trigger {
    width: 100% !important;
    min-height: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    border: 1px solid var(--md-sys-color-outline, #79747e) !important;
    background: var(--md-sys-color-surface, #ffffff) !important;
    color: var(--md-sys-color-on-surface, #1d1b20) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 0 10px 0 12px !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    text-align: left !important;
}

#settingsDrawer .mdc-select-card__text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

#settingsDrawer .mdc-select-card__arrow {
    font-size: 22px !important;
    line-height: 1 !important;
}

#settingsDrawer .mdc-select-card__menu {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: calc(100% + 6px) !important;
    z-index: 10060 !important;
    margin: 0 !important;
    padding: 6px 0 !important;
    list-style: none !important;
    border-radius: 12px !important;
    border: 1px solid var(--md-sys-color-outline-variant, #cac4d0) !important;
    background: var(--md-sys-color-surface-container-high, #f3edf7) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.14) !important;
    max-height: 220px !important;
    overflow: auto !important;
}

#settingsDrawer .mdc-select-card--open {
    z-index: 10050 !important;
}

/* 避免弹层被卡片/条目容器裁切或覆盖 */
#settingsDrawer .mdc-settings-drawer-content,
#settingsDrawer .mdc-settings-card,
#settingsDrawer .mdc-settings-item,
#settingsDrawer .mdc-settings-item--vertical {
    overflow: visible !important;
}

#settingsDrawer .mdc-select-card__menu[hidden] {
    display: none !important;
}

#settingsDrawer .mdc-select-card__option {
    min-height: 40px !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
    color: var(--md-sys-color-on-surface, #1d1b20) !important;
    cursor: pointer !important;
}

#settingsDrawer .mdc-select-card__option:hover {
    background: color-mix(in srgb, var(--md-sys-color-on-surface, #1d1b20) 8%, transparent) !important;
}

#settingsDrawer .mdc-select-card__option.is-selected {
    background: color-mix(in srgb, var(--md-sys-color-primary, #1976d2) 16%, transparent) !important;
    color: var(--md-sys-color-primary, #1976d2) !important;
    font-weight: 500 !important;
}

#settingsDrawer .mdc-select-card--open .mdc-select-card__trigger,
#settingsDrawer .mdc-select-card__trigger:focus-visible {
    border-color: var(--md-sys-color-primary, #1976d2) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--md-sys-color-primary, #1976d2) 22%, transparent) !important;
    outline: none !important;
}

:root[data-theme="dark"] #settingsDrawer .mdc-select-card__trigger,
:root.theme-dark #settingsDrawer .mdc-select-card__trigger {
    background: var(--md-sys-color-surface, #141218) !important;
    color: var(--md-sys-color-on-surface, #e6e1e5) !important;
    border-color: var(--md-sys-color-outline, #938f99) !important;
}

:root[data-theme="dark"] #settingsDrawer .mdc-select-card__menu,
:root.theme-dark #settingsDrawer .mdc-select-card__menu {
    background: var(--md-sys-color-surface-container, #211f26) !important;
    border-color: var(--md-sys-color-outline, #938f99) !important;
}
