/* 全局重置、点击高亮清除、MD全局CSS变量 */
* {
    -webkit-tap-highlight-color: transparent;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* 可交互组件统一处理 */
button, a, .icon-button, .fab-mini, .sidebar-item, .mobile-sidebar-item,
.doc-card, .menu-item, .toolbar-button {
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

:root {
    /* 主色 */
    --md-sys-color-primary: #6750A4;
    --md-sys-color-on-primary: #FFFFFF;
    --md-sys-color-primary-container: #EADDFF;
    --md-sys-color-on-primary-container: #21005D;
    /* 辅助色 */
    --md-sys-color-secondary: #625B71;
    --md-sys-color-on-secondary: #FFFFFF;
    --md-sys-color-secondary-container: #E8DEF8;
    --md-sys-color-on-secondary-container: #1D192B;
    /* 第三色 */
    --md-sys-color-tertiary: #7D5260;
    --md-sys-color-on-tertiary: #FFFFFF;
    --md-sys-color-tertiary-container: #FFD8E4;
    --md-sys-color-on-tertiary-container: #31111D;
    /* 表面色 */
    --md-sys-color-surface: #FFFBFE;
    --md-sys-color-on-surface: #1C1B1F;
    --md-sys-color-surface-variant: #E7E0EC;
    --md-sys-color-on-surface-variant: #49454F;
    /* 背景色 */
    --md-sys-color-background: #FFFBFE;
    --md-sys-color-on-background: #1C1B1F;
    /* 错误色 */
    --md-sys-color-error: #B3261E;
    --md-sys-color-on-error: #FFFFFF;
    --md-sys-color-error-container: #F9DEDC;
    --md-sys-color-on-error-container: #410E0B;
    /* 轮廓 */
    --md-sys-color-outline: #79747E;
    --md-sys-color-outline-variant: #CAC4D0;
    /* 层级阴影 */
    --md-sys-elevation-level0: none;
    --md-sys-elevation-level1: 0 1px 2px rgba(0,0,0,0.1);
    --md-sys-elevation-level2: 0 2px 6px rgba(0,0,0,0.15);
    --md-sys-elevation-level3: 0 4px 8px rgba(0,0,0,0.2);
    /* 圆角 */
    --md-sys-shape-corner-extra-small: 4px;
    --md-sys-shape-corner-small: 8px;
    --md-sys-shape-corner-medium: 12px;
    --md-sys-shape-corner-large: 16px;
    --md-sys-shape-corner-extra-large: 28px;
    --md-sys-shape-corner-full: 999px;
    /* 字体 */
    --md-sys-typescale-body-large-font: 'Noto Sans SC', sans-serif;
    --md-sys-typescale-body-large-size: 16px;
    --md-sys-typescale-body-large-line-height: 24px;
    --md-sys-typescale-body-large-weight: 400;
    --md-sys-typescale-title-large-font: 'Noto Sans SC', sans-serif;
    --md-sys-typescale-title-large-size: 22px;
    --md-sys-typescale-title-large-line-height: 28px;
    --md-sys-typescale-title-large-weight: 600;
    --md-sys-typescale-headline-small-font: 'Noto Sans SC', sans-serif;
    --md-sys-typescale-headline-small-size: 24px;
    --md-sys-typescale-headline-small-line-height: 32px;
    --md-sys-typescale-headline-small-weight: 600;
    /* 状态透明度 */
    --md-sys-state-hover-opacity: 0.08;
    --md-sys-state-focus-opacity: 0.12;
    --md-sys-state-pressed-opacity: 0.12;
    /* 动效 */
    --md-sys-motion-duration-short: 200ms;
    --md-sys-motion-duration-medium: 300ms;
    --md-sys-motion-easing-standard: cubic-bezier(0.4, 0, 0.2, 1);
}

/* body基础样式 */
body {
    background: var(--md-sys-color-background);
    color: var(--md-sys-color-on-background);
    padding-top: 64px;
    height: 100vh;
    overflow: hidden;
    font-family: var(--md-sys-typescale-body-large-font);
    font-size: var(--md-sys-typescale-body-large-size);
    line-height: var(--md-sys-typescale-body-large-line-height);
}

/* 全局动画 */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}