/* ===== 打印样式 ===== */

@media print {
    /* 基础设置 */
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    body {
        font-size: 12pt;
        line-height: 1.5;
        color: #000;
        background: #fff;
    }

    /* 隐藏不需要打印的元素 */
    .navbar,
    .nav-toggle,
    .nav-menu,
    .nav-submenu,
    .back-to-top,
    #backToTop,
    .cta-section,
    .interactive-tool,
    .bandwidth-calculator,
    .config-decoder,
    .tlp-constructor,
    .ltssm-simulator,
    .btn,
    .btn-primary,
    .btn-secondary,
    .copy-btn,
    .action-buttons,
    .toast,
    .loading-overlay,
    .progress-bar,
    footer .social-links,
    footer .footer-links {
        display: none !important;
    }

    /* 显示主要内容 */
    .hero-section,
    .content-section,
    .page-header,
    main,
    article,
    .content-card,
    .info-card,
    .feature-grid,
    .comparison-table,
    .data-table,
    .register-table,
    .timeline,
    .architecture-diagram {
        display: block !important;
    }

    /* 页面布局 */
    .container {
        max-width: 100% !important;
        padding: 0.5cm !important;
        margin: 0 !important;
    }

    /* 标题样式 */
    h1 {
        font-size: 18pt;
        margin-bottom: 0.5cm;
        page-break-after: avoid;
    }

    h2 {
        font-size: 14pt;
        margin-top: 0.8cm;
        margin-bottom: 0.4cm;
        page-break-after: avoid;
    }

    h3 {
        font-size: 12pt;
        margin-top: 0.6cm;
        margin-bottom: 0.3cm;
        page-break-after: avoid;
    }

    h4, h5, h6 {
        font-size: 11pt;
        page-break-after: avoid;
    }

    /* 段落和文本 */
    p {
        margin-bottom: 0.3cm;
        text-align: justify;
    }

    /* 链接样式 */
    a {
        color: #000;
        text-decoration: none;
    }

    a[href]:after {
        content: " (" attr(href) ")";
        font-size: 9pt;
        color: #666;
    }

    /* 内部链接不显示URL */
    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    /* 代码块 */
    .code-block,
    pre {
        background: #f5f5f5 !important;
        border: 1px solid #ddd;
        padding: 0.3cm;
        margin: 0.3cm 0;
        font-size: 9pt;
        white-space: pre-wrap;
        word-wrap: break-word;
        page-break-inside: avoid;
    }

    code {
        font-family: 'Consolas', 'Monaco', monospace;
        font-size: 9pt;
        background: #f5f5f5;
        padding: 0.05cm 0.1cm;
    }

    /* 表格 */
    table {
        width: 100%;
        border-collapse: collapse;
        margin: 0.3cm 0;
        page-break-inside: avoid;
    }

    th, td {
        border: 1px solid #999;
        padding: 0.15cm 0.3cm;
        text-align: left;
    }

    th {
        background: #f0f0f0 !important;
        font-weight: bold;
    }

    tr {
        page-break-inside: avoid;
    }

    /* 列表 */
    ul, ol {
        margin: 0.3cm 0;
        padding-left: 1cm;
    }

    li {
        margin-bottom: 0.1cm;
    }

    /* 卡片样式 */
    .content-card,
    .info-card {
        border: 1px solid #ddd;
        padding: 0.4cm;
        margin: 0.3cm 0;
        page-break-inside: avoid;
    }

    .card-header {
        border-bottom: 1px solid #ddd;
        padding-bottom: 0.2cm;
        margin-bottom: 0.3cm;
    }

    /* 图表和可视化 */
    .diagram-container,
    .flow-diagram,
    .architecture-diagram {
        page-break-inside: avoid;
        margin: 0.3cm 0;
    }

    .diagram-box {
        border: 1px solid #999;
        padding: 0.2cm;
    }

    /* 时间线 */
    .timeline {
        page-break-inside: avoid;
    }

    .timeline-item {
        page-break-inside: avoid;
        margin-bottom: 0.3cm;
    }

    /* Tab 内容 */
    .tab-content {
        display: block !important;
        border: 1px solid #ddd;
        padding: 0.3cm;
        margin: 0.2cm 0;
    }

    .tab-panel {
        display: block !important;
        margin-bottom: 0.5cm;
    }

    .tab-panel h4 {
        border-bottom: 1px solid #ddd;
        padding-bottom: 0.1cm;
    }

    /* 隐藏 tab 按钮 */
    .tab-buttons {
        display: none !important;
    }

    /* 提示框和警告 */
    .tip-box,
    .warning-box,
    .info-box {
        border: 1px solid #999;
        padding: 0.3cm;
        margin: 0.3cm 0;
        page-break-inside: avoid;
    }

    .tip-box {
        background: #f0f8ff !important;
    }

    .warning-box {
        background: #fff3cd !important;
    }

    .info-box {
        background: #e7f3ff !important;
    }

    /* 页眉页脚 */
    .page-header {
        border-bottom: 2px solid #333;
        padding-bottom: 0.3cm;
        margin-bottom: 0.5cm;
    }

    footer {
        border-top: 1px solid #999;
        margin-top: 1cm;
        padding-top: 0.3cm;
        font-size: 9pt;
    }

    footer p {
        margin: 0;
    }

    /* 分页控制 */
    .hero-section,
    .content-section {
        page-break-before: auto;
    }

    h1, h2, h3 {
        page-break-after: avoid;
    }

    .content-card,
    .info-card,
    pre,
    table,
    .diagram-container {
        page-break-inside: avoid;
    }

    /* 打印页眉 */
    @page {
        margin: 2cm 1.5cm;
        @top-center {
            content: "PCIe 学习整理";
            font-size: 9pt;
        }
        @bottom-center {
            content: "第 " counter(page) " 页";
            font-size: 9pt;
        }
    }

    /* 首页特殊处理 */
    .hero-section h1 {
        font-size: 20pt;
        text-align: center;
    }

    .hero-description {
        text-align: center;
        font-size: 11pt;
    }

    /* 特性网格 */
    .feature-grid {
        display: block;
    }

    .feature-card {
        border: 1px solid #ddd;
        padding: 0.3cm;
        margin-bottom: 0.3cm;
        page-break-inside: avoid;
    }

    .feature-icon {
        display: none;
    }

    /* 比较表格 */
    .comparison-table th,
    .comparison-table td {
        font-size: 9pt;
        padding: 0.1cm 0.2cm;
    }

    /* 寄存器表格特殊处理 */
    .register-table {
        font-size: 8pt;
    }

    .register-table th,
    .register-table td {
        padding: 0.1cm;
    }

    /* 位域显示 */
    .bit-field {
        border: 1px solid #999;
        font-size: 8pt;
    }

    /* 十六进制显示 */
    .hex-dump {
        font-family: 'Consolas', monospace;
        font-size: 8pt;
        background: #f5f5f5;
        padding: 0.2cm;
        border: 1px solid #ddd;
    }

    /* 状态指示器 */
    .status-badge,
    .version-badge {
        border: 1px solid #999;
        padding: 0.05cm 0.15cm;
        font-size: 8pt;
    }

    /* 导航路径 */
    .breadcrumb {
        font-size: 9pt;
        margin-bottom: 0.3cm;
    }

    /* 文章元信息 */
    .article-meta {
        font-size: 9pt;
        color: #666;
        margin-bottom: 0.3cm;
    }

    /* 图片 */
    img {
        max-width: 100% !important;
        height: auto;
    }

    /* 确保背景色打印 */
    .diagram-box,
    .timeline-item,
    .feature-card {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
}

/* 打印按钮样式（仅屏幕显示） */
@media screen {
    .print-button {
        position: fixed;
        bottom: 30px;
        right: 90px;
        width: 50px;
        height: 50px;
        border-radius: 50%;
        background: linear-gradient(135deg, #10b981, #059669);
        color: white;
        border: none;
        cursor: pointer;
        box-shadow: 0 4px 15px rgba(16, 185, 129, 0.4);
        z-index: 999;
        font-size: 1.2rem;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.3s ease;
    }

    .print-button:hover {
        transform: translateY(-3px) scale(1.1);
        box-shadow: 0 6px 20px rgba(16, 185, 129, 0.6);
    }
}
