.gv-btn{display:inline-flex;align-items:center;gap:10px;min-height:var(--control-min-target);padding:var(--control-pad-y) var(--control-pad-x);border:0;border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--control-font);font-weight:var(--weight-medium);letter-spacing:var(--tracking-eyebrow);line-height:1;white-space:nowrap;flex:none;cursor:pointer;text-decoration:none;transition:background-color var(--duration-micro) var(--ease-color),transform var(--duration-micro) var(--ease-color)}.gv-btn:active{transform:var(--motion-press-scale)}.gv-btn:disabled{cursor:not-allowed;opacity:.5}.gv-btn-square{width:var(--mark-size);height:var(--mark-size);border-radius:0;flex:none}.gv-btn-primary{background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-lift)}.gv-btn-primary .gv-btn-square{background:var(--color-on-accent)}.gv-btn-primary:hover{background:var(--color-accent-deep)}.gv-btn-secondary{background:transparent;border:var(--rule-weight) solid var(--rule-strong);color:var(--color-ink-soft);transition:background-color var(--duration-micro) var(--ease-color),border-color var(--duration-micro) var(--ease-color),color var(--duration-micro) var(--ease-color),transform var(--duration-micro) var(--ease-color)}.gv-btn-secondary .gv-btn-square{background:var(--color-accent)}.gv-btn-secondary:hover{border-color:var(--color-ink);color:var(--color-ink)}.gv-btn-on-dark{background:var(--color-on-accent);color:var(--color-ink-soft)}.gv-btn-on-dark .gv-btn-square{background:var(--color-accent)}.gv-btn-on-dark:hover{background:var(--color-paper)}
