@property --btn-g1{syntax:"<color>";inherits:true;initial-value:#0000}@property --btn-g2{syntax:"<color>";inherits:true;initial-value:#0000}@property --btn-g3{syntax:"<color>";inherits:true;initial-value:#0000}@layer components{.btn{cursor:pointer;transition:all var(--transition-normal,.25s)ease,--btn-g1 var(--transition-normal,.4s)ease,--btn-g2 var(--transition-normal,.4s)ease,--btn-g3 var(--transition-normal,.4s)ease;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;font-weight:500;display:inline-flex}.btn:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.btn:active{transition:all var(--transition-fast,.15s)ease,--btn-g1 var(--transition-fast,.15s)ease,--btn-g2 var(--transition-fast,.15s)ease,--btn-g3 var(--transition-fast,.15s)ease;transform:scale(.96)}.btn:disabled{opacity:.5;pointer-events:none}.btn-primary{--btn-g1:var(--color-btn-default-start);--btn-g2:var(--color-btn-default-mid);--btn-g3:var(--color-btn-default-end);background:linear-gradient(var(--btn-angle,90deg),var(--btn-g1)0%,var(--btn-g2)50%,var(--btn-g3)100%);color:var(--btn-primary-text);border:1px solid var(--color-card-border-bright,#ffffff26);padding:.5rem 1rem}.btn-primary:hover{--btn-g1:var(--color-btn-hover-start);--btn-g2:var(--color-btn-hover-mid);--btn-g3:var(--color-btn-hover-end);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.btn-primary:active{--btn-g1:var(--color-btn-hover-start);--btn-g2:var(--color-btn-hover-mid);--btn-g3:var(--color-btn-hover-end);filter:brightness(.8);transform:translateY(0)scale(.96);box-shadow:0 1px 4px #0003}.btn-no-transition.btn-primary:hover,.btn-no-transition.btn-primary:active{--btn-g1:var(--color-btn-default-start);--btn-g2:var(--color-btn-default-mid);--btn-g3:var(--color-btn-default-end)}.btn-no-gradient{background:var(--btn-primary-bg-solid,var(--color-accent-primary))!important}.btn-no-gradient:hover{filter:brightness(1.15);background:var(--btn-primary-bg-solid,var(--color-accent-primary))!important}.btn-no-gradient:active{filter:brightness(.85);background:var(--btn-primary-bg-solid,var(--color-accent-primary))!important}.btn-ghost{color:var(--color-label-secondary);background:0 0;border:none;padding:.5rem 1rem}.btn-ghost:hover{background:var(--btn-ghost-hover);color:var(--color-label-primary)}.btn-ghost:active{background:var(--btn-ghost-hover);filter:brightness(.8)}.btn-outline{background:var(--color-primary-dark);color:var(--color-label-secondary);border:2px solid var(--btn-outline-border);padding:.5rem 1rem}.btn-outline:hover{background:var(--btn-outline-hover-bg);border-color:var(--btn-outline-hover-border);color:var(--color-label-primary)}.btn-outline:active{filter:brightness(.8)}.btn-card{background:var(--color-card);color:var(--color-label-primary);border:2px solid var(--color-card-border);border-radius:.75rem;padding:.5rem 1rem}.btn-card:hover{border-color:var(--color-card-border-bright);box-shadow:0 4px 12px var(--color-shadow-glow);transform:translateY(-2px)}.btn-card:active{box-shadow:0 1px 4px var(--color-shadow-glow);transition:all var(--transition-fast,.15s)ease;transform:translateY(0)scale(.97)}.card-interactive{border:2px solid var(--color-card-border);transition:all var(--transition-normal,.25s)ease}.card-interactive:hover{border-color:var(--color-card-border-bright);box-shadow:0 4px 12px var(--color-shadow-glow);transform:translateY(-4px)}.card-interactive:active{border-color:var(--color-card-border-bright);box-shadow:0 1px 4px var(--color-shadow-glow);transition:all var(--transition-fast,.15s)ease;transform:translateY(0)scale(.97)}.btn-danger{background:var(--btn-danger-bg);color:#fff;border:none;padding:.5rem 1rem}.btn-danger:hover{filter:brightness(1.15)}.btn-danger:active{filter:brightness(.75)}.btn-sm{padding:.375rem .75rem;font-size:.875rem}.btn-md{padding:.5rem 1rem;font-size:.875rem}.btn-lg{padding:.75rem 1.25rem;font-size:1rem}}