.btn-3d{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--text-base);font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-btn);white-space:nowrap;border:0;outline:none;cursor:pointer;text-decoration:none;transform-style:preserve-3d;transition:transform .15s ease-out,background .15s ease-out}.btn-3d:disabled{cursor:not-allowed;background:var(--neutral-600);border-color:var(--neutral-700);color:var(--neutral-400)}.btn-3d:disabled:before{background:var(--neutral-700);box-shadow:0 0 0 2px var(--neutral-800)}.btn-3d:disabled:hover{transform:none;background:var(--neutral-600)}.btn-3d:disabled:hover:before{transform:translate3d(0,4px,-1em)}.btn-3d--sm{padding:4px var(--spacing-md);font-size:var(--text-xs)}.btn-3d--sm:before{transform:translate3d(0,3px,-1em)}.btn-3d--primary{background:var(--accent-200);color:#fff;border:2px solid color-mix(in oklch,var(--accent-200) 70%,black)}.btn-3d--primary:before{position:absolute;content:"";width:100%;height:100%;top:0;left:0;background:color-mix(in oklch,var(--accent-200) 70%,black);border-radius:inherit;box-shadow:0 0 0 2px color-mix(in oklch,var(--accent-200) 50%,black);transform:translate3d(0,4px,-1em);transition:transform .15s ease-out,box-shadow .15s ease-out}@media (hover:hover){.btn-3d--primary:hover{background:color-mix(in oklch,var(--accent-200) 85%,white);transform:translateY(2px)}.btn-3d--primary:hover:before{transform:translate3d(0,2px,-1em)}}.btn-3d--primary:active{transform:translateY(4px)}.btn-3d--primary:active:before{transform:translateZ(-1em)}.btn-3d--scratch{background:var(--scratch-accent-100);color:#fff;border:2px solid color-mix(in oklch,var(--scratch-accent-100) 70%,black)}.btn-3d--scratch:before{position:absolute;content:"";width:100%;height:100%;top:0;left:0;background:color-mix(in oklch,var(--scratch-accent-100) 70%,black);border-radius:inherit;box-shadow:0 0 0 2px color-mix(in oklch,var(--scratch-accent-100) 50%,black);transform:translate3d(0,4px,-1em);transition:transform .15s ease-out,box-shadow .15s ease-out}@media (hover:hover){.btn-3d--scratch:hover{background:color-mix(in oklch,var(--scratch-accent-100) 85%,white);transform:translateY(2px)}.btn-3d--scratch:hover:before{transform:translate3d(0,2px,-1em)}}.btn-3d--scratch:active{transform:translateY(4px)}.btn-3d--scratch:active:before{transform:translateZ(-1em)}.btn-3d--green{background:var(--green-100);color:#fff;border:2px solid color-mix(in oklch,var(--green-100) 70%,black)}.btn-3d--green:before{position:absolute;content:"";width:100%;height:100%;top:0;left:0;background:color-mix(in oklch,var(--green-100) 70%,black);border-radius:inherit;box-shadow:0 0 0 2px color-mix(in oklch,var(--green-100) 50%,black);transform:translate3d(0,4px,-1em);transition:transform .15s ease-out,box-shadow .15s ease-out}@media (hover:hover){.btn-3d--green:hover{background:color-mix(in oklch,var(--green-100) 85%,white);transform:translateY(2px)}.btn-3d--green:hover:before{transform:translate3d(0,2px,-1em)}}.btn-3d--green:active{transform:translateY(4px)}.btn-3d--green:active:before{transform:translateZ(-1em)}.btn-3d--outline{background:var(--neutral-900);color:var(--neutral-300);border:2px solid var(--neutral-700)}.btn-3d--outline:before{position:absolute;content:"";width:100%;height:100%;top:0;left:0;background:var(--neutral-800);border-radius:inherit;box-shadow:0 0 0 2px var(--neutral-800);transform:translate3d(0,4px,-1em);transition:transform .15s ease-out,box-shadow .15s ease-out}@media (hover:hover){.btn-3d--outline:hover{background:var(--neutral-800);color:var(--foreground);transform:translateY(2px)}.btn-3d--outline:hover:before{transform:translate3d(0,2px,-1em)}}.btn-3d--outline:active{transform:translateY(4px)}.btn-3d--outline:active:before{transform:translateZ(-1em)}