.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;line-height:1.5;border-radius:var(--border-radius);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap}.btn:hover{text-decoration:none}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff;box-shadow:0 0 20px rgba(var(--color-primary-rgb),.3)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover{background:var(--color-surface);border-color:var(--color-text-muted);color:var(--color-text-heading)}.btn-ghost{background:0 0;color:var(--color-text-secondary);border:none;padding:var(--space-2) var(--space-4)}.btn-ghost:hover{color:var(--color-text-heading);background:var(--color-surface)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base);border-radius:var(--border-radius-lg)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.btn svg{width:18px;height:18px}.card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--border-radius-lg);padding:var(--space-8);transition:all var(--transition)}.card:hover{border-color:var(--color-border);transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,0,0,.3)}.card-icon{width:48px;height:48px;border-radius:var(--border-radius);background:var(--color-primary-glow);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-5)}.card-icon svg{width:24px;height:24px;color:var(--color-primary-hover)}.card h3{font-size:var(--text-lg);margin-bottom:var(--space-3)}.card p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:var(--leading-normal)}.card-link{text-decoration:none;color:inherit;display:block}.card-link:hover{text-decoration:none;color:inherit}.badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:600;border-radius:100px;background:var(--color-primary-glow);color:var(--color-primary-hover);border:1px solid rgba(var(--color-primary-rgb),.2)}.badge-success{background:rgba(var(--color-success-rgb),.15);color:var(--color-success);border-color:rgba(var(--color-success-rgb),.2)}.code-block{position:relative;margin-bottom:var(--space-6)}.code-block pre{margin:0;padding:var(--space-6);padding-right:var(--space-12)}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-border-subtle);border-bottom:none;border-radius:var(--border-radius) var(--border-radius) 0 0;font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono)}.code-block-header+pre{border-radius:0 0 var(--border-radius) var(--border-radius)}.copy-btn{position:absolute;top:var(--space-3);right:var(--space-3);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:6px;padding:var(--space-2);cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;opacity:0}.code-block:hover .copy-btn{opacity:1}.copy-btn:hover{color:var(--color-text);background:var(--color-surface-hover)}.copy-btn.copied{color:var(--color-success)}.copy-btn svg{width:16px;height:16px}.callout{padding:var(--space-4) var(--space-5);border-radius:var(--border-radius);border-left:3px solid;margin-bottom:var(--space-6);font-size:var(--text-sm)}.callout p{margin:0;color:inherit}.callout-info{background:rgba(var(--color-info-rgb),.1);border-color:var(--color-info);color:var(--color-text)}.callout-warning{background:rgba(var(--color-warning-rgb),.1);border-color:var(--color-warning);color:var(--color-text)}.callout-danger{background:rgba(var(--color-danger-rgb),.1);border-color:var(--color-danger);color:var(--color-text)}.callout-success{background:rgba(var(--color-success-rgb),.1);border-color:var(--color-success);color:var(--color-text)}.callout strong{display:block;margin-bottom:var(--space-1)}.table-wrapper{overflow-x:auto;margin-bottom:var(--space-6)}table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}td,th{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle)}th{color:var(--color-text-muted);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}td{color:var(--color-text-secondary)}tr:hover td{background:var(--color-surface)}.tag{display:inline-block;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:500;border-radius:4px;background:var(--color-surface-raised);color:var(--color-text-secondary);font-family:var(--font-mono)}.divider{height:1px;background:var(--color-border-subtle);margin:var(--space-12) 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.fade-in.visible{opacity:1;transform:translateY(0)}