.button { &.button--medium { --codex-button-padding: 9px 10px; } &.button--small { --codex-button-padding: 6px 10px; height: 40px; } border-radius: 8px; outline: none; padding: var(--codex-button-padding); display: flex; place-items: center; gap: 2px; font-weight: 500; position: relative; border: none; transition: box-shadow 0.35s, opacity 0.35s; font-family: Inter; font-size: 14px; font-weight: 500; line-height: 20px; letter-spacing: -0.006em; border: 1px solid transparent; place-content: center; &[aria-busy] { cursor: wait; } &[aria-busy]::after { content: " "; display: block; background-image: var( --codex-button-loader, url('data:image/svg+xml,') ); position: absolute; background-color: var( --codex-button-background-busy, var(--codex-background-backdrop) ); /** * Set full size and add border. */ width: calc(100% + 2px); height: calc(100% + 2px); background-repeat: no-repeat; background-position: center; background-size: 28px; left: -1px; right: 0; border-radius: var(--codex-border-radius); } &.button--primary:not(:disabled):hover { cursor: pointer; box-shadow: 0 0 0 3px var(--codex-button-color-box-shadow, #6fcb94cc); } &.button--outline:not(:disabled):hover { cursor: pointer; box-shadow: 0 0 0 2px var(--codex-border-color); } &.button--primary { background-color: #6fcb94; color: var(--codex-color-on-primary); } &:disabled { cursor: not-allowed; } &.button--primary:disabled { background-color: var(--codex-color-disabled); } &.button--outline:disabled { color: var(--codex-color-disabled); } &.button--outline { color: var(--codex-color-outline, var(--codex-color-contrast)); border-color: var(--codex-border-color); background-color: #2f2f2f; color: #969696; } span { display: flex; align-items: center; gap: 0.75rem; } div { width: 20px; height: 20px; display: flex; place-items: center; } }