.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;border:1px solid transparent;border-radius:4px;font-weight:500;font-family:inherit;font-size:.875rem;line-height:1.4;text-align:center;text-decoration:none;cursor:pointer;transition:all .2s ease;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;overflow:hidden;background:none;box-sizing:border-box}.btn:focus{outline:none;box-shadow:0 0 0 2px rgba(155,191,155,.3)}.btn:active{transform:translateY(1px)}.btn--primary{background-color:var(--color-primary);color:var(--color-bg);border-color:var(--color-primary);font-weight:600}.btn--primary:hover:not(.btn--disabled){background-color:color-mix(in srgb,var(--color-primary) 90%,black);border-color:color-mix(in srgb,var(--color-primary) 90%,black)}.btn--secondary{background-color:var(--color-secondary);color:var(--color-text);border-color:var(--color-secondary)}.btn--secondary .btn__icon svg{stroke:var(--color-text)}.btn--secondary:hover:not(.btn--disabled){background-color:color-mix(in srgb,var(--color-secondary) 90%,black);border-color:color-mix(in srgb,var(--color-secondary) 90%,black)}.btn--link{background-color:transparent;color:var(--color-primary);border-color:transparent;padding:4px 8px;text-decoration:underline;text-underline-offset:2px}.btn--small{padding:6px 12px;font-size:.8rem;gap:4px}.btn--medium{padding:10px 15px;font-size:.875rem;gap:6px}.btn--large{padding:12px 20px;font-size:1rem;gap:8px}.btn--full-width{width:100%;display:flex}.btn--loading{pointer-events:none}.btn__content,.btn__content--loading{display:inline-flex;align-items:center;gap:6px}.btn__content--loading{opacity:.7}.btn__icon{display:inline-flex;align-items:center;justify-content:center;line-height:0;color:inherit}.btn__icon svg{color:inherit;stroke:currentColor}.btn__spinner{width:16px;height:16px;border:2px solid;border-top:2px solid transparent;border-radius:50%;animation:btn-spin .8s linear infinite}@keyframes btn-spin{to{transform:rotate(1turn)}}.btn--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn--disabled:active{transform:none}.btn--danger{background-color:var(--color-danger);color:var(--color-text)}.btn--danger:hover:not(.btn--disabled){background-color:var(--color-danger);color:white;border-color:var(--color-danger)}@media (max-width:640px){.btn{padding:12px 16px;font-size:.9rem}.btn--small{padding:8px 12px;font-size:.8rem}.btn--large{padding:14px 20px;font-size:1rem}}.button-secondary{background-color:var(--color-secondary);color:var(--color-text);border:1px solid var(--color-border);padding:10px 15px;border-radius:4px;cursor:pointer;transition:background-color .2s ease}.button-secondary:hover{background-color:color-mix(in srgb,var(--color-secondary) 90%,black)}.button-warning{background-color:var(--color-warning);color:white;border:none;padding:10px 15px;border-radius:4px;cursor:pointer;transition:background-color .2s ease}.button-warning:hover{background-color:color-mix(in srgb,var(--color-warning) 90%,black)}.button-add-friend{background-color:var(--color-primary);color:white;border:none;padding:8px 16px;border-radius:4px;font-size:.9rem;cursor:pointer;transition:background-color .2s}.button-add-friend:hover{background-color:color-mix(in srgb,var(--color-primary) 90%,black)}