/* Button — primary (yellow), secondary (outlined), ghost */
.dg-btn{box-sizing:border-box;display:inline-flex;align-items:center;gap:var(--space-2);height:40px;max-width:100%;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid transparent;font:600 15px/1 var(--font-sans);cursor:pointer;text-decoration:none;white-space:nowrap}
.dg-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.dg-btn--primary{background:var(--duck-yellow);color:var(--on-yellow)}
.dg-btn--primary:not([disabled]):hover{background:var(--duck-yellow-hover)}
.dg-btn--secondary{background:transparent;color:var(--ink);border-color:var(--border-strong)}
.dg-btn--secondary:not([disabled]):hover{background:var(--surface-raised);border-color:var(--ink)}
.dg-btn--ghost{background:transparent;color:var(--ink)}
.dg-btn--ghost:not([disabled]):hover{background:var(--surface-code)}
.dg-btn--sm{height:32px;padding:0 12px;font-size:14px}
.dg-btn[disabled]{opacity:.45;cursor:not-allowed}
.dg-btn code{font:400 14px/1 var(--font-mono);min-width:0;overflow:hidden;text-overflow:ellipsis}

/* Terminal — command + dgrep output */
.dg-term{background:var(--surface-code);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);font:400 14px/22px var(--font-mono);overflow-x:auto;margin:0;font-variant-ligatures:none}
.dg-term__bar{display:flex;align-items:center;justify-content:space-between;margin:calc(-1*var(--space-3)) calc(-1*var(--space-3)) var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);font:700 12px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}
.dg-term .prompt,.dg-term .comment{color:var(--code-comment)}
.dg-term .path,.dg-term .kw{color:var(--code-keyword)}
.dg-term .ln,.dg-term .fn{color:var(--code-function)}
.dg-term .str{color:var(--code-string)}
.dg-term .num{color:var(--code-number)}
.dg-term .err{color:var(--code-error)}
.dg-term .ctx{color:var(--ink-muted)}
.dg-match{background:var(--match-bg);color:var(--match-ink);border-radius:var(--radius-sm);padding:0 2px}
