.source-hardware-page .hw-tab-bar { display: flex; gap: 0.25rem; flex-wrap: wrap; justify-content: center; margin: 1.75rem auto 0; max-width: 900px; }
    .source-hardware-page .hw-tab-bar a { font-size: 0.82rem; font-weight: 600; padding: 0.38rem 0.9rem; border-radius: 999px; border: 1px solid var(--color-border); color: var(--color-text-muted); text-decoration: none; transition: border-color var(--transition), color var(--transition), background var(--transition); }
    .source-hardware-page .hw-tab-bar a:hover, .source-hardware-page .hw-tab-bar a.is-active { border-color: var(--color-accent); color: var(--color-accent); background: var(--color-accent-dim); }
    .source-hardware-page .software-toc { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0.5rem; margin-top: 1.5rem; }
    .source-hardware-page .software-toc a { display: flex; align-items: center; gap: 0.5rem; padding: 0.7rem 1rem; background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius); font-size: 0.88rem; font-weight: 600; color: var(--color-text-muted); text-decoration: none; transition: border-color var(--transition), color var(--transition), background var(--transition); }
    .source-hardware-page .software-toc a:hover { border-color: var(--color-accent); color: var(--color-accent); background: var(--color-accent-dim); }
    .source-hardware-page .step-section { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--color-border); }
    .source-hardware-page .step-section:first-of-type { border-top: none; padding-top: 0; margin-top: 2rem; }
    .source-hardware-page .step-badge { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-accent); background: var(--color-accent-dim); border: 1px solid var(--color-border-glow); border-radius: 999px; padding: 0.25rem 0.75rem; margin-bottom: 0.75rem; }
    .source-hardware-page .code-block { background: var(--color-bg-code); border: 1px solid var(--color-border); border-radius: var(--radius); padding: 1.25rem 1.5rem; font-family: var(--font-mono); font-size: 0.85rem; color: var(--color-text); overflow-x: auto; margin: 1rem 0; line-height: 1.7; }
    .source-hardware-page .code-block .comment { color: var(--color-text-dim); }
    .source-hardware-page .inline-code { font-family: var(--font-mono); font-size: 0.85em; background: var(--color-bg-code); border: 1px solid var(--color-border); border-radius: 4px; padding: 0.1em 0.4em; color: var(--color-text); }
    .source-hardware-page .info-callout { background: var(--color-accent-dim); border: 1px solid var(--color-border-glow); border-left: 3px solid var(--color-accent); border-radius: var(--radius); padding: 1rem 1.25rem; font-size: 0.9rem; color: var(--color-text-muted); margin: 1.25rem 0; }
    .source-hardware-page .info-callout strong { color: var(--color-text); display: block; margin-bottom: 0.3rem; }
    .source-hardware-page .warn-callout { background: #2d1f00; border: 1px solid #4a3300; border-left: 3px solid #f59e0b; border-radius: var(--radius); padding: 1rem 1.25rem; font-size: 0.9rem; color: #d1a050; margin: 1.25rem 0; }
    .source-hardware-page .warn-callout strong { color: #f59e0b; display: block; margin-bottom: 0.3rem; }
    .source-hardware-page .error-cards { display: grid; gap: 1rem; margin-top: 1.5rem; }
    .source-hardware-page .error-card { background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 1.25rem 1.5rem; }
    .source-hardware-page .error-card-title { font-weight: 700; font-size: 0.88rem; color: #f87171; margin-bottom: 0.4rem; font-family: var(--font-mono); }
    .source-hardware-page .error-card-fix { font-size: 0.88rem; color: var(--color-text-muted); }
    .source-hardware-page .error-card-fix code { font-family: var(--font-mono); font-size: 0.83em; color: var(--color-text); background: var(--color-bg-code); border-radius: 3px; padding: 0.05em 0.3em; }
    .source-hardware-page .api-table { width: 100%; border-collapse: collapse; margin-top: 1.25rem; font-size: 0.88rem; }
    .source-hardware-page .api-table th { text-align: left; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-text-dim); padding: 0.5rem 1rem; border-bottom: 1px solid var(--color-border); }
    .source-hardware-page .api-table td { padding: 0.7rem 1rem; border-bottom: 1px solid var(--color-border); color: var(--color-text-muted); vertical-align: top; }
    .source-hardware-page .api-table td:first-child { font-family: var(--font-mono); font-size: 0.82rem; color: var(--color-text); }
    .source-hardware-page .api-table tr:last-child td { border-bottom: none; }
    .source-hardware-page .page-nav-strip { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; padding: 2rem 0; border-top: 1px solid var(--color-border); margin-top: 3rem; }
    .source-hardware-page .page-nav-strip a { font-size: 0.9rem; font-weight: 600; color: var(--color-accent); text-decoration: none; }
    .source-hardware-page .page-nav-strip a:hover { text-decoration: underline; }
    .source-hardware-page .page-nav-prev { display: flex; flex-direction: column; }
    .source-hardware-page .page-nav-next { display: flex; flex-direction: column; align-items: flex-end; }
    .source-hardware-page .page-nav-label { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-text-dim); margin-bottom: 0.2rem; }
