.source-hardware-page .hw-tab-bar { display: flex; gap: 0.25rem; flex-wrap: wrap; justify-content: center; margin: 1.75rem auto 0; max-width: 840px; }
    .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 .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); overflow: hidden; }
    .source-hardware-page .error-card-header { display: flex; align-items: center; gap: 0.75rem; padding: 1rem 1.25rem; background: var(--color-bg-elevated); border-bottom: 1px solid var(--color-border); }
    .source-hardware-page .error-badge { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #dc2626; background: rgba(220,38,38,0.08); border: 1px solid rgba(220,38,38,0.2); border-radius: 999px; padding: 0.2rem 0.6rem; flex-shrink: 0; }
    .source-hardware-page .error-card-header strong { font-size: 0.92rem; color: var(--color-text); }
    .source-hardware-page .error-card-body { padding: 1rem 1.25rem; }
    .source-hardware-page .error-card-body p { font-size: 0.9rem; color: var(--color-text-muted); margin: 0 0 0.75rem; }
    .source-hardware-page .error-card-body pre { margin: 0; }
    .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; }
