.phx-button{justify-content:center;align-items:center;gap:var(--phx-space-2);padding:var(--phx-space-3) var(--phx-space-5);border-radius:var(--phx-radius-pill);font-family:var(--phx-font-sans);font-size:var(--phx-text-sm);font-weight:var(--phx-weight-semibold);cursor:pointer;transition:background-color var(--phx-dur-base) var(--phx-ease-out), border-color var(--phx-dur-base) var(--phx-ease-out), transform var(--phx-dur-fast) var(--phx-ease-out);border:1.5px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.phx-button:focus-visible{outline:2px solid var(--phx-color-focus);outline-offset:2px}.phx-button:active{transform:scale(.98)}.phx-button--primary{background:var(--phx-color-primary);color:var(--phx-color-on-primary)}.phx-button--primary:hover{background:var(--phx-color-primary-hover)}.phx-button--secondary{background:var(--phx-bg-ink);color:var(--phx-fg-on-dark)}.phx-button--secondary:hover{background:var(--phx-ink)}.phx-button--ghost{color:var(--phx-color-text);border-color:var(--phx-color-border-strong);background:0 0}.phx-button--ghost:hover{border-color:var(--phx-color-text)}.phx-button:disabled{background:var(--phx-color-border);color:var(--phx-color-text-subtle);cursor:not-allowed;border-color:#0000;transform:none}.phx-field{gap:var(--phx-space-2);flex-direction:column;display:flex}.phx-field-label{font-size:var(--phx-text-xs);font-weight:var(--phx-weight-semibold);color:var(--phx-color-text-muted);text-transform:uppercase}.phx-field-inline{align-items:center;gap:var(--phx-space-2);display:flex}.phx-field-hidden-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.phx-field-inline-label{font-size:var(--phx-text-sm);color:var(--phx-color-text)}.phx-field-input{font:inherit;font-size:var(--phx-text-sm);padding:var(--phx-space-3) var(--phx-space-4);border:1px solid var(--phx-color-border-strong);border-radius:var(--phx-radius);background:var(--phx-color-bg);color:var(--phx-color-text);transition:border-color var(--phx-dur-fast) var(--phx-ease-out)}.phx-field-input::placeholder{color:var(--phx-color-text-subtle)}.phx-field-input:focus{outline:2px solid var(--phx-color-focus);outline-offset:2px;border-color:var(--phx-color-primary)}.phx-field-input[aria-invalid=true]{border-color:var(--phx-color-danger)}.phx-field-input:disabled{background:var(--phx-color-surface);color:var(--phx-color-text-subtle);cursor:not-allowed}.phx-field-hint,.phx-field-error{font-size:var(--phx-text-xs);color:var(--phx-color-text-muted);margin:0}.phx-field-error{color:var(--phx-color-danger)}.phx-state{align-items:center;gap:var(--phx-space-2);padding:var(--phx-space-6) var(--phx-space-4);text-align:center;color:var(--phx-color-text-muted);flex-direction:column;display:flex}.phx-state-title{font-size:var(--phx-text-sm);font-weight:var(--phx-weight-semibold);color:var(--phx-color-text);margin:0}.phx-state-message>p{margin:0}.phx-state-action{margin-top:var(--phx-space-2)}.phx-state--error .phx-state-title{color:var(--phx-color-danger)}.phx-icon{flex:none}.phx-icon-button{width:var(--phx-space-6);height:var(--phx-space-6);border-radius:var(--phx-radius-pill);color:var(--phx-color-text-muted);font-size:var(--phx-text-md);cursor:pointer;transition:background-color var(--phx-dur-fast) var(--phx-ease-out);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.phx-icon-button:hover:not(:disabled){background:var(--phx-color-neutral-soft);color:var(--phx-color-text)}.phx-icon-button:focus-visible{outline:2px solid var(--phx-color-focus);outline-offset:2px}.phx-icon-button:disabled{color:var(--phx-color-text-subtle);cursor:not-allowed}.phx-tone--neutral{--tone-bg:var(--phx-color-neutral-soft);--tone-text:var(--phx-color-text);--tone-border:transparent}.phx-tone--info{--tone-bg:transparent;--tone-text:var(--phx-color-text);--tone-border:var(--phx-color-border-strong)}.phx-tone--success{--tone-bg:var(--phx-color-success-soft);--tone-text:var(--phx-color-success);--tone-border:transparent}.phx-tone--warning{--tone-bg:var(--phx-color-warning-soft);--tone-text:var(--phx-color-warning);--tone-border:transparent}.phx-tone--danger{--tone-bg:transparent;--tone-text:var(--phx-color-danger);--tone-border:var(--phx-color-danger)}.phx-tone--new{--tone-bg:var(--phx-cactus-lime);--tone-text:var(--phx-ink);--tone-border:transparent}
